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: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of Anton Stiglic > Sent: Tuesday, September 19, 2006 8:56 PM > To: cryptography@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 [EMAIL PROTECTED]