Exponent 3 damage spreads...

Tolga Acar t.acar at computer.org
Thu Sep 21 01:29:25 EDT 2006


 Anton,

Here is what I compute in Maple.
I wonder if you are running into an old BC bug. I don't remember the
details, but bc had a bug some 10 years or so ago with big numbers.

> with(numtheory):
>
s:=convert(`00D3CDA91B578B6DF29AEB140272BD9198759F79FA10DC410B5D10362048AC7A
BE5DF7FE0D94A6646E791C5B95B29F2C6384A570769DC888ED0B7AD510CCD3C758CEBEB64851
1620490E0FD54162BADB1ED05411ACC853509B62A4C1B242E1E2F737A1E7E4340F5A79B05EC3
475D7BA6FC7B3302F1258ABAC1079F11E8DFB9FC09D42716BA4054ADD460BB12FC1B0B8D5D32
DB50395374AEB3C215C2BC566328D2F03BF043068C5C9ABC649BA1767E97DF32B6AA734594EE
22FFFE7FB06EA3B77030E79BD6FE7683AB7FFCE462ABFBA5777B3914DE4665B86C1EC203FEB6
FCCB3DADB8BA51FD87A7457C62385418E65D17809C4256E3D27DC2017D7A093C8BD193A09168
F34D522DD7D3AFB95FC61C9F4339091CF25D78BF461B4EA5620EED722AB7D3EFF99CEA4A4F54
6BFF6CE338D7763AFF20A9B61452DA07179590D3316BBCE63B06B43D996D775D6843F46633FF
107A3C866E3B0A8AAAEA31F4A2048C9FCB448958287F8E961C9F3393E18FC9A05460D51A2867
37AEC14A1A7B27A51`,decimal,hex):
>
m:=convert(`01D851D5148345606F586935D227CD5CF7F04F890AC5024178BA5F4EE85D7796
918C3DC7A5951C985539CB240E28BA4AC3AFBE0F6EB3151A0DBAFD686C234A30D07D590D61A5
474491BF0D68E1AC7F94CDC989C19C2E25B12511A29FFAF5F11E0B994E19C5C3DC298F9E584F
FF3C7DBB8F703A0EAD97167F88C7229BBFA55B449CDE4C91B409D5B9ACF0134CB61352E9CE6C
B3D847C7F3D9AFA74E8E19DD1ED7923270E310A5D91E97EF198694465950715AA066ACB06FAE
C0BA64FCCCA155104852EFD41346F75D1ACB8574BBE3C7C8D6D1B501C1163AD2058506DF1B64
059A6932C0672FB9D094364EA4D7FA04442B8E643B74B8746B594866C7CBDAB8FEA954FDEE7C
44B9C5D6B9E19B49082D65B517EA7DBFEF5CA1EEA39AB2283CDB854C8B246F2B8EFE51895349
640248A3248EC65F64A89CA5AB194B444DF676B015AFBCACE13697CEEB5268F5E9AA674A83DD
1B0CE4DC83603CFFB801DB669216FC647CD7A6A84831E421D9676C7AAC44411B2AB3E901A713
9B3519B58EBAEEC20B`,decimal,hex):
> c:=s&^3 mod m:
> convert(c,hex);
> 

1B5FD52F9033ADD581101429F83B600AB9280AF9F448FCAF1F8F3D1375D526A390\
    B949DE72773778D4C4C1A517730A90BA1DDC5DAEACE248534B1ECBF53B8957\
    E595A8097D6828E1D05E9B7207EAA8425CC54365D78AEC13A53713AA6B44E5\
    E63860824D0748184208398611253CC08E2AACE1ED62FDEB85403507512F90\
    296CEC26A05194C1332792468AC83D8411F4A1609799F7AAE9E60C84B33EDB\
    E4CD590D58A5483A9A94B52853E7CF81DBFEECCD922AB1D954F9FEA40C22BB\
    575A094730F9F2AE5ECDD023AB37740984F5289F2C3900512974BE878D1A8D\
    D880A871BEF9FE3C18A28DA9A40ABFF0B1288DFC9BA6971883E7263500BACC\
    458E3F9D1847BE6D542948363E8544BC2E7890580063D322DA203172FADA62\
    B8D42A7959DA60CB6DC5CB90DB9E3F046F2AE816524FF5D112EB2CAC0E7D96\
    365550E68EAEA1EB2C17E63EC51719F4299A7FF68DD544FD2A6639F9B991F7\
    9F4497EAF86EA7E8964B28125772414BDA2369EA39994D972B863C2E46072D\
    56CEFF7E54A5774F1

> c2:=m&^3 mod s:
> convert(c2,hex);

89DB60414C5FE1762638AE4C61C0B485812C50E711FD7EAFA34544208E4E110F2A\
    043333EDCF5CD2A71F13EC1640606DB7A49F6FD15E91269D5FF325FD6ECA6E\
    80FFDD9DC196E199DA55D69259E6022910598A886A4AFDC196C641B5BFF9C6\
    18D5EC1429C669D37C6A9B64EFDDF146C1774261B7CC9D53D360AC0B072546\
    568699A354E85BACA05119C09C5EE92A05B8AFE4BDBD725171A19F687AFE8B\
    B28000181201CD7534C7D2A62B53796173BCA080630212CDD60D92A4E00E14\
    446748873F05AF14DBDECD5B5143F01C26A91A510623926DAADEADA8E16D6F\
    52C4184035767A2109197147D2279CDA312897CD346B5C8D0C7BFAE33CE33C\
    C7C94E7C2CD66B212D99ADC15373E9815893F44B9510140395DB5EAC436E09\
    71E9D05EF760E477B58713B770A3FE61E37B2456543D8865D3272CC89F7390\
    03770446F4FD6CACA14BDCD7C5050774516C77456958BAF794ADE9A8BDB8A4\
    9092631DD467B0158BFBA416164D81DC8DE5C9D75118DA5BDB0CB121DC0C11\
    5271451781B4D0F

> 

> -----Original Message-----
> From: owner-cryptography at metzdowd.com 
> [mailto:owner-cryptography at metzdowd.com] On Behalf Of Anton Stiglic
> Sent: Tuesday, September 19, 2006 8:56 PM
> To: cryptography at metzdowd.com
> Cc: 'Anton Stiglic'
> Subject: RE: Exponent 3 damage spreads...
> 
> 
> I tried coming up with my own forged signature that could be 
> validated with OpenSSL (which I intended to use to test other 
> libraries).  I haven't succeeded, either because in the 
> particular example I came up with OpenSSL does something that 
> catches the invalid signature, or I messed up somewhere (the 
> likelihood of which is far from negligible).  Unfortunately, 
> I don't have much more time to play with this.  I decided to 
> share the methodology I used with those of you who are 
> interested in case the info is helpful to anyone, or someone 
> can tell me why the signature I produced doesn't get 
> validated by OpenSSL.
> 
> I followed the instructions of Hal Finney's excellent post:
> http://www.mail-archive.com/cryptography@metzdowd.com/msg06537.html
> 
> I started out by generating 3072 RSA key pair, with public 
> exponent e = 3.
> 
> openssl genrsa -des3 -3 -out my.key 3072
> 
> the resulting key can be found bellow, the passwords is 
> "test" if you ever want to use it.
> 
> Then I created the corresponding public key certificate:
> 
> openssl req -new -x509 -days 1001 -key my.key -out my.cer
> 
> The public key certificate can be found bellow as well.  You 
> can import this in Windows key store, for example.
> 
> I then created a plaintext file, messageAunicode.txt, for 
> which I computed a signature on (a valid signature).  The 
> idea was then to forge a signature on an alternate 
> messageBunicode.txt, without using the private key of course.
> The two files can be found in attachment, they are in Unicode 
> because I wanted to also try this out with a VBscript 
> implementing a signature function using CAPICOM. (you can get 
> a file in Unicode by opening it with a simple text editor 
> that allows you to save as Unicode, such as notepad, and 
> erase any extra bytes (header) with a hex editor such as XVI32).
> 
> The hashes of these files are
> 
> openssl dgst -sha1 messageAunicode.txt
> SHA1(messageAunicode.txt)= eb8302606217ae549fe6ab1345f0b4c804195367
> 
> openssl dgst -sha1 messageBunicode.txt
> SHA1(messageBunicode.txt)= 5d89b46034e0f41a920b2fa964e230ebb2d040b0
> 
> Now, create the valid signature over messageAunicode.txt to 
> see what the output looks like:
> 
> openssl dgst -hex -sha1 -sign my.key messageAunicode.txt 
> Enter pass phrase for my.key:
> SHA1(messageAunicode.txt)=00d3cda91b578b6df29aeb140272bd919875
> 9f79fa10dc410b
> 5d10362048ac7abe5df7fe0d94a6646e791c5b95b29f2c6384a570769dc888
> ed0b7ad510ccd3
> c758cebeb648511620490e0fd54162badb1ed05411acc853509b62a4c1b242
> e1e2f737a1e7e4
> 340f5a79b05ec3475d7ba6fc73b3302f1258abac1079f11e8dfb9fc09d4271
> 6ba4054add460b
> b12fc1b0b8d5d32db50395374aeb3c215c2bc566328d2f03bf043068c5c9ab
> c649ba1767e97d
> f32b6aa734594ee22fffe7fb06ea3b77030e79bd6fe7683ab7ffce462abfba
> 5777b3914de466
> 5b86c1ec203feb6fccb3dadb8ba51fd87a7457c62385418e65d17809c4256e
> 3d27dc2017d7a0
> 93c8bd193a09168f34d522dd7d3afb95fc61c9f4339091cf25d78bf461b4ea
> 5620eed722ab7d
> 3eff99cea4a4f546bff6ce338d7763aff20a9b61452da07179590d3316bbce
> 63b06b43d996d7
> 75d6843f46633ff107a3c866e3b0a8aaaea31f4a2048c9fcb448958287f8e9
> 61c9f3393e18fc
> 9a05460d51a286737aec14a1a7b27a51
> 
> Now, let's do some bignumber math.
> I wanted to look at the value obtained when you verify a 
> signature (RSA encrypt the signature with exponent 3).  I use 
> BC, a bignumber calculator I like allot:
> http://www.gnu.org/software/bc/
> A version that can be installed on Windows:
> http://gnuwin32.sourceforge.net/packages/bc.htm
> 
> I use a fast modexp function I implemented for BC, available 
> at http://crypto.cs.mcgill.ca/~stiglic/Programming/modgroup.bc
> 
> You can load it by simply calling bc like this:
> 
> bc modgroup.bc
> 
> I did the calculations all in hex, so typed the following in bc
> 
> obase=16
> ibase=16
> 
> Now, denote by s the signature given above, e = 3 and m is 
> the modulus in the public key certificate I generated.  When 
> pasting the values into BC, the hex digits need to be in 
> capital letters.  You can get the value of the modulus by 
> using a ASN.1 viewer, such as ASN.1 Editor or Peter Gutmann's 
> ASN1dump.  Here are the BC calculations:
> 
> s=00D3CDA91B578B6DF29AEB140272BD9198759F79FA10DC410B5D10362048
> AC7ABE5DF7FE0D
> 94A6646E791C5B95B29F2C6384A570769DC888ED0B7AD510CCD3C758CEBEB6
> 48511620490E0F
> D54162BADB1ED05411ACC853509B62A4C1B242E1E2F737A1E7E4340F5A79B0
> 5EC3475D7BA6FC
> 7B3302F1258ABAC1079F11E8DFB9FC09D42716BA4054ADD460BB12FC1B0B8D
> 5D32DB50395374
> AEB3C215C2BC566328D2F03BF043068C5C9ABC649BA1767E97DF32B6AA7345
> 94EE22FFFE7FB0
> 6EA3B77030E79BD6FE7683AB7FFCE462ABFBA5777B3914DE4665B86C1EC203
> FEB6FCCB3DADB8
> BA51FD87A7457C62385418E65D17809C4256E3D27DC2017D7A093C8BD193A0
> 9168F34D522DD7
> D3AFB95FC61C9F4339091CF25D78BF461B4EA5620EED722AB7D3EFF99CEA4A
> 4F546BFF6CE338
> D7763AFF20A9B61452DA07179590D3316BBCE63B06B43D996D775D6843F466
> 33FF107A3C866E
> 3B0A8AAAEA31F4A2048C9FCB448958287F8E961C9F3393E18FC9A05460D51A
> 286737AEC14A1A
> 7B27A51
> m=01D851D5148345606F586935D227CD5CF7F04F890AC5024178BA5F4EE85D
> 7796918C3DC7A5
> 951C985539CB240E28BA4AC3AFBE0F6EB3151A0DBAFD686C234A30D07D590D
> 61A5474491BF0D
> 68E1AC7F94CDC989C19C2E25B12511A29FFAF5F11E0B994E19C5C3DC298F9E
> 584FFF3C7DBB8F
> 703A0EAD97167F88C7229BBFA55B449CDE4C91B409D5B9ACF0134CB61352E9
> CE6CB3D847C7F3
> D9AFA74E8E19DD1ED7923270E310A5D91E97EF198694465950715AA066ACB0
> 6FAEC0BA64FCCC
> A155104852EFD41346F75D1ACB8574BBE3C7C8D6D1B501C1163AD2058506DF
> 1B64059A6932C0
> 672FB9D094364EA4D7FA04442B8E643B74B8746B594866C7CBDAB8FEA954FD
> EE7C44B9C5D6B9
> E19B49082D65B517EA7DBFEF5CA1EEA39AB2283CDB854C8B246F2B8EFE5189
> 5349640248A324
> 8EC65F64A89CA5AB194B444DF676B015AFBCACE13697CEEB5268F5E9AA674A
> 83DD1B0CE4DC83
> 603CFFB801DB669216FC647CD7A6A84831E421D9676C7AAC44411B2AB3E901
> A7139B3519B58E
> BAEEC20B
> modexp(s, 3, m)
> 1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF\
> FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF\
> FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF\
> FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF\
> FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF\
> FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF\
> FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF\
> FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF\
> FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF\
> FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF\
> FFFFFFFFFFF003021300906052B0E03021A05000414EB8302606217AE549FE6AB134\
> 5F0B4C804195367
> 
> You can see the 01 FF FF FF .. FF pattern followed by
> 003021300906052B0E03021A05000414
> Which is the ASN.1 header (with 00 in front of it) followed by
> EB8302606217AE549FE6AB1345F0B4C804195367
> Which is the hash of messageAunicode.txt as we calculated above.
> 
> Now, let's do the calculations in Hal's post, using the above 
> ASN.1 header (which stays the same for all signatures using 
> the above key and the SHA1 algorithm), with the hash of 
> messageBunicode.txt in order to forge a signature over the 
> content of messageBunicode.txt 
> 
> Since we are calculating in hex, here are the equivalences of 
> the exponents which are given in decimal in Hal's post:
> 288d = 120h
> 1019d = 3FBh
> 34d = 22h
> 
> Now, in bc, using the notations of Hal's post :
> 
> d=003021300906052B0E03021A050004145D89B46034E0F41A920B2FA964E2
> 30EBB2D040B0
> n = 2^120 - d
> n
> FFCFDECFF6F9FAD4F1FCFDE5FAFFFBEBA2764B9FCB1F0BE56DF4D0569B1DCF144D2F\
> BF50
> s = 2^3FB - (n*2^22)/3
> s
> 7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF\
> FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF\
> FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEAAEAD6EAB6B2B18EBD595822B1555\
> AC5D20CF08046814578C2B994E1DBD8413A43C0564000000000
> 
> Now let's look at s^3
> 1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF\
> FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF\
> FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF003021300906052B0E03021A05000\
> 4145D89B46034E0F41A920B2FA964E230EBB2D040B00000000000000000000000000\
> 00000000000000000000000000000000000000000000000000000000000000000000\
> 0000000002A9AA11CBB60CB35CB569DDD576C272967D774B02AE385C6EE43238C8C9\
> 1477DBD0ED06ECF8BC4B8D3DC4D566FA65939092D09D13E0ED8F8BE5D5CB9E72C47C\
> 743B52BBFA7B9697FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA285694CD9347AB7528\
> D15F9D0DBF0C82C967D1C7CA3CCF69D2E09519FEAD7B96F1FCCB6D7D78AC9B244C2D\
> 85C08FEE0982D080AB2250A546F64BF15B1C540EA5655A36E52756CC57BBB11BBA3B\
> 81D72CE1FB7EBFB784027F3087CA7078541278C45764E6F2B1F3E532400000000000\
> 00000000000000000
> 
> This has the form we are looking for, the 01 FF FF ... FF 
> header that ends with 00, and then we have 
> 03021300906052B0E03021A050004145D89B46034E0F41A920B2FA964E230E
> BB2D040B0
> which is the d we started out with, and the rest is the GARBAGE part.
> 
> Only one problem, s^3 is larger than m, so if we computed 
> modexp(s, 3, m) the result would be rounded out modulo m and 
> we would loose the above structure.
> So what I did (and this might be a mistake, but I believe it 
> works because of the explanation I will give), is took s as 
> the signature but cutting out 00 at the end in order to produce s':
> 
> sp=s/100
> 
> sp^3 will start with the same digits as s^3, but will be smaller.
> 
> Let's look at the modexp calculation
> 
> modexp(sp, 3, m)
> 1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF\
> FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF\
> FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF003021300906052B0E03021A05000\
> 4145D89B46034E0F41A920B2FA964E230EBB2D040B00000000000000000000000000\
> 00000000000000000000000000000000000000000000000000000000000000000000\
> 0000000002A9AA11CBB60CB35CB569DDD576C272967D774B02AE385C6EE43238C8C9\
> 1477DBD0ED06ECF8BC4B8D3DC4D566FA65939092D09D13E0ED8F8BE5D5CB9E72C47C\
> 743B52BBFA7B9697FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA285694CD9347AB7528\
> D15F9D0DBF0C82C967D1C7CA3CCF69D2E09519FEAD7B96F1FCCB6D7D78AC9B244C2D\
> 85C08FEE0982D080AB2250A546F64BF15B1C540EA5655A36E52756CC57BBB11BBA3B\
> 81D72CE1FB7EBFB784027F3087CA7078541278C45764E6F2B1F3E532400000000000\
> 00000000000
> 
> Good!
> So sp is my tentative forged signature.  I saved it to a file 
> in order to try to verify it with OpenSSL.  I don't know how 
> to make openssl command line to verify a signature that is 
> represented in hex (it can output a signature in hex, but I 
> can't seem to find how to verify one in this format, seems to 
> only accept binary).  I look for a hex2bin converter, which 
> is harder to come by than you would think.  Finally, not 
> wanting to code something (to lazy) I used XVI32 hex editor 
> in some unorthodox way to transform the hex signature in 
> binary.  The result can be found in attachment.  
> Unfortunately (or fortunately), I can't get OpenSSL to 
> validate this signature.
> 
> openssl dgst -prverify my.key -sha1 -signature 
> opensslB-fake.sig messageBunicode.txt Enter pass phrase for my.key:
> Verification Failure
> 
> (I copied here the verification command that uses the private 
> key, you can of course use the verification command with just 
> the public key, at the moment of writing this I simply 
> couldn't remember how to make it work).
> 
> If you know what is happening, please tell me.  Hope the info 
> is useful to someone!
> 
> --Anton
> 
> 
> 
> -----BEGIN RSA PRIVATE KEY-----
> Proc-Type: 4,ENCRYPTED
> DEK-Info: DES-EDE3-CBC,162F46975BB386BE
> 
> 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
> -----END RSA PRIVATE KEY-----
> 
> -----BEGIN CERTIFICATE-----
> MIIFaTCCA9KgAwIBAgIJAObO4xl/ruKUMA0GCSqGSIb3DQEBBQUAMIGAMQswCQYD
> VQQGEwJDQTELMAkGA1UECBMCUUMxETAPBgNVBAcTCE1vbnRyZWFsMRYwFAYDVQQK
> Ew1JbnN0YW50IExvZ2ljMQwwCgYDVQQLFANSJkQxDzANBgNVBAMTBk1yIEZvbzEa
> MBgGCSqGSIb3DQEJARYLZm9vQGZvby5jb20wHhcNMDYwOTE4MjEzNTU2WhcNMDkw
> NjE1MjEzNTU2WjCBgDELMAkGA1UEBhMCQ0ExCzAJBgNVBAgTAlFDMREwDwYDVQQH
> EwhNb250cmVhbDEWMBQGA1UEChMNSW5zdGFudCBMb2dpYzEMMAoGA1UECxQDUiZE
> MQ8wDQYDVQQDEwZNciBGb28xGjAYBgkqhkiG9w0BCQEWC2Zvb0Bmb28uY29tMIIB
> njANBgkqhkiG9w0BAQEFAAOCAYsAMIIBhgKCAX8B2FHVFINFYG9YaTXSJ81c9/BP
> iQrFAkF4ul9O6F13lpGMPcellRyYVTnLJA4oukrDr74PbrMVGg26/WhsI0ow0H1Z
> DWGlR0SRvw1o4ax/lM3JicGcLiWxJRGin/r18R4LmU4ZxcPcKY+eWE//PH27j3A6
> Dq2XFn+IxyKbv6VbRJzeTJG0CdW5rPATTLYTUunObLPYR8fz2a+nTo4Z3R7XkjJw
> 4xCl2R6X7xmGlEZZUHFaoGassG+uwLpk/MyhVRBIUu/UE0b3XRrLhXS748fI1tG1
> AcEWOtIFhQbfG2QFmmkywGcvudCUNk6k1/oERCuOZDt0uHRrWUhmx8vauP6pVP3u
> fES5xda54ZtJCC1ltRfqfb/vXKHuo5qyKDzbhUyLJG8rjv5RiVNJZAJIoySOxl9k
> qJylqxlLRE32drAVr7ys4TaXzutSaPXpqmdKg90bDOTcg2A8/7gB22aSFvxkfNem
> qEgx5CHZZ2x6rERBGyqz6QGnE5s1GbWOuu7CCwIBA6OB6DCB5TAdBgNVHQ4EFgQU
> 5nm4J2leKJRiQq8Ollw+FIA448gwgbUGA1UdIwSBrTCBqoAU5nm4J2leKJRiQq8O
> llw+FIA448ihgYakgYMwgYAxCzAJBgNVBAYTAkNBMQswCQYDVQQIEwJRQzERMA8G
> A1UEBxMITW9udHJlYWwxFjAUBgNVBAoTDUluc3RhbnQgTG9naWMxDDAKBgNVBAsU
> A1ImRDEPMA0GA1UEAxMGTXIgRm9vMRowGAYJKoZIhvcNAQkBFgtmb29AZm9vLmNv
> bYIJAObO4xl/ruKUMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggGAAAD7
> SqzMT8qM9VOZ7uQdBCdKgapFgrwTPPHt0c7zKHwQm+OYctf64WEREeltedr0LsUx
> q3/+ahPqW167NUiZCYfdAhliUap9Ma0/rpmlxBKq5NvwzmB/xNZOknrUlK7ouOxR
> 0OOK9GtuRgQKYF9IQ8RBwT4aU4KEbu9w+hZYunf01vrtRK3TO8yg5b7LiEiSvDIv
> g+JXCLgubjXCq64uDUJW2FdRWnE+MiFC6Nadus6xfWnKjrAcDQjQuBgfJnAmlZ/r
> lJ+p1Qzy9UuHVmECvDJNWXn8+s/p70mnBx+ErtwFwmHg6QtY6WXm5MKDr3QBW7oT
> zRnVDMvHtyztvln5jukMFf58O546K7jVzNgGQgDcqf35YAAhzBfGeG//X0eYyYT8
> 6+x9V7Cvi56G13mh3o4MmFU7U4SOxOuRySCg79G1P0dC6YOQRgOEvWrUlcQG4CTF
> Q/NGr9iqxj0bvfYswwn2HyEd63bOZYD/w8tOAK2Zfqo9hzk22U1F6FC84aEP
> -----END CERTIFICATE-----
> 


---------------------------------------------------------------------
The Cryptography Mailing List
Unsubscribe by sending "unsubscribe cryptography" to majordomo at metzdowd.com



More information about the cryptography mailing list