Computer Laboratory

Daniel R. Thomas


Learning about Cryptography

I recommend taking the Coursera Cryptography I course before doing anything with cryptography.


Don't use this! Shared parameters are bad!

I spent quite a long time trying to find standard DSA parameters p, q and g for a 3072 bit key (L). Eventually via the lbt blog post on jpake I found the NIST example DSA parameters which cover 1024, 2048 and 3072.

Java doesn't support DSA L sizes greater than 1024 bits (80 bits security) which means it can't be used this side of 2010. However the parameters it uses for 1024 bits are as follows:

9760508F 15230BCC B292B982 A2EB840B F0581CF5
FD7F5381 1D751229 52DF4A9C 2EECE4E7 F611B752 3CEF4400
C31E3F80 B6512669 455D4022 51FB593D 8D58FABF C5F5BA30
F6CB9B55 6CD7813B 801D346F F26660B7 6B9950A5 A49F9FE8
047B1022 C24FBBA9 D7FEB7C6 1BF83B57 E7C6A8A6 150F04FB
83F6D3C5 1EC30235 54135A16 9132F675 F3AE2B61 D72AEFF2
2203199D D14801C7
F7E1A085 D69B3DDE CBBCAB5C 36B857B9 7994AFBB FA3AEA82
F9574C0B 3D078267 5159578E BAD4594F E6710710 8180B449
167123E8 4C281613 B7CF0932 8CC8A6E1 3C167A8B 547C8D28
E0A3AE1E 2BB3A675 916EA37F 0BFA2135 62F1FB62 7A01243B
CCA4F1BE A8519089 A883DFE1 5AE59F06 928B665E 807B5525
64014C3B FECF492A

I list those just to make it easier for people to find this page.

The NIST parameters p,q and g for 3072 bit DSA are as follows:

90066455 B5CFC38F 9CAA4A48 B4281F29 2C260FEE F01FD610
37E56258 A7795A1C 7AD46076 982CE6BB 956936C6 AB4DCFE0
5E678458 6940CA54 4B9B2140 E1EB523F 009D20A7 E7880E4E
5BFA690F 1B9004A2 7811CD99 04AF7042 0EEFD6EA 11EF7DA1
29F58835 FF56B89F AA637BC9 AC2EFAAB 90340222 9F491D8D
3485261C D068699B 6BA58A1D DBBEF6DB 51E8FE34 E8A78E54
2D7BA351 C21EA8D8 F1D29F5D 5D159394 87E27F44 16B0CA63
2C59EFD1 B1EB6651 1A5A0FBF 615B766C 5862D0BD 8A3FE7A0
E0DA0FB2 FE1FCB19 E8F9996A 8EA0FCCD E5381752 38FC8B0E
E6F29AF7 F642773E BE8CD540 2415A014 51A84047 6B2FCEB0
E388D30D 4B376C37 FE401C2A 2C2F941D AD179C54 0C1C8CE0
30D460C4 D983BE9A B0B20F69 144C1AE1 3F9383EA 1C08504F
B0BF3215 03EFE434 88310DD8 DC77EC5B 8349B8BF E97C2C56
0EA878DE 87C11E3D 597F1FEA 742D73EE C7F37BE4 3949EF1A
0D15C3F3 E3FC0A83 35617055 AC91328E C22B50FC 15B941D3
D1624CD8 8BC25F3E 941FDDC6 20068958 1BFEC416 B4B2CB73

CFA0478A 54717B08 CE64805B 76E5B142 49A77A48 38469DF7

5E5CBA99 2E0A680D 885EB903 AEA78E4A 45A46910 3D448EDE
3B7ACCC5 4D521E37 F84A4BDD 5B06B097 0CC2D2BB B715F7B8
2846F9A0 C393914C 792E6A92 3E2117AB 805276A9 75AADB52
61D91673 EA9AAFFE ECBFA618 3DFCB5D3 B7332AA1 9275AFA1
F8EC0B60 FB6F66CC 23AE4870 791D5982 AAD1AA94 85FD8F4A
60126FEB 2CF05DB8 A7F0F09B 3397F393 7F2E90B9 E5B9C9B6
EFEF642B C48351C4 6FB171B9 BFA9EF17 A961CE96 C7E7A7CC
3D3D03DF AD1078BA 21DA4251 98F07D24 81622BCE 45969D9C
4D6063D7 2AB7A0F0 8B2F49A7 CC6AF335 E08C4720 E31476B6
7299E231 F8BD90B3 9AC3AE3B E0C6B6CA CEF8289A 2E2873D5
8E51E029 CAFBD55E 6841489A B66B5B4B 9BA6E2F7 84660896
AFF387D9 2844CCB8 B6947549 6DE19DA2 E58259B0 90489AC8
E62363CD F82CFD8E F2A427AB CD65750B 506F56DD E3B98856
7A88126B 914D7828 E2B63A6D 7ED0747E C59E0E0A 23CE7D8A
74C1D2C2 A7AFB6A2 9799620F 00E11C33 787F7DED 3B30E1A2
2D09F1FB DA1ABBBF BF25CAE0 5A13F812 E34563F9 9410E73B

Once verified this will probably get baked into the Nigori RFC.