Browse Source

Merge pull request #646 from Xartrick/patch-1

Allow 72 bytes (576 bits) keys for Blowfish
Steffen Jaeckel 1 year ago
parent
commit
e0d90c58da
2 changed files with 107 additions and 107 deletions
  1. 103 103
      notes/cipher_tv.txt
  2. 4 4
      src/ciphers/blowfish.c

+ 103 - 103
notes/cipher_tv.txt

@@ -214,109 +214,109 @@ Key Size: 8 bytes
 48: 24DA24DFE96AD818
 49: 226C43435FBDA34A
 
-Key Size: 32 bytes
- 0: 46CDCC4D4D14BA2E
- 1: C079641BD6584E5A
- 2: 38828DF8B4C4920C
- 3: B4ABCF6B78A721F3
- 4: 8E7E2914CBBA708C
- 5: C0EBE7002C888495
- 6: C60F404DE7CF9B78
- 7: B29E843E1771EF26
- 8: 983033386CA6A09B
- 9: 76F1F89AFDCF7130
-10: BED4E2114F4376FA
-11: 879A2B9D19AFAB87
-12: 366201BC87532AE5
-13: 6F409580FA907A64
-14: F7A202F00A38863E
-15: 98B0A9C79FFC27B1
-16: 1CB68D9BBF8A1A8A
-17: C21A2C54E5471D23
-18: 76A81C3DFC149934
-19: C7A0627412FC323A
-20: A034684D7058E7A6
-21: AC87722F27029BC2
-22: 36A6C2AF10245E3E
-23: 1F85B90D11217EBE
-24: 9C2A0C383A4AB7D5
-25: 11D5C689039CA179
-26: B0B38C7077E1450B
-27: C59C7DCCC3B8A1BB
-28: 9BC539F29208AC24
-29: 8546F17C77C60C05
-30: B189C3E92AF53844
-31: 3C7689163B8D2776
-32: 6AFEB9A0671156A8
-33: 05514E39F2990008
-34: C941E31A2A1F42BF
-35: 87C3777C74A730A0
-36: 2861667755C8B727
-37: AF75A0312433B151
-38: F76939331E9C9792
-39: 819FF8C81FC7C8DC
-40: 31E7B07EB03D170D
-41: 696E5EC1A741170E
-42: 6C5BF0E0BA48FEC3
-43: 6D751BCCDC475797
-44: BB5A91D0CA7E60F4
-45: 7F7EC0531C88B14C
-46: 9F302392529B70E8
-47: CAC9A1A88F09AC1D
-48: 39D56A652E02D5B0
-49: 13641D42BC126517
-
-Key Size: 56 bytes
- 0: 373C66BBA50EB9CC
- 1: A4E8C602AE3A2CEB
- 2: A59F08BA78502F32
- 3: D0D4968015F4E4FF
- 4: 0D3C2F291E6C2EE0
- 5: 3F99F5DADAD5FD2C
- 6: 5BA41EC1A506396D
- 7: 0BDE3B5B50591D35
- 8: 5C4A6AEFA69A115D
- 9: ADABFE96D6D159E8
-10: F97F0B9C88ACD5C0
-11: 8882A163F0F02BB2
-12: F00556C9F5A56A32
-13: 257615BEC96CC228
-14: D58DAEC547DD8B89
-15: E677F4953EC44097
-16: 20156D066DC37000
-17: 6F18E01C6FDF947E
-18: C8DFF24F12621237
-19: 032F91C5119AE308
-20: 394194AD8BC1E5CF
-21: 6F24E937F3925581
-22: 086A4510D95759F3
-23: 073204BADF0EE942
-24: 5BC8B8E402D90F43
-25: A10B7E9D01DD3809
-26: 22C0B183AFFDA506
-27: 216306AE6DDBAF3F
-28: E275E1F52430A1FD
-29: C3BDB49D588D31BB
-30: B860818C5923B688
-31: BE1BC7A444B0E141
-32: E4C4B67900DBC8DB
-33: 36D7B7ECB6679A9C
-34: C1EAD201EE34BEF7
-35: 9ABBC877CE825B14
-36: 3B211121C0C3C09A
-37: BE3B34FF2E83F5A7
-38: 46C2B3E628A53EAD
-39: B7E7DDE16C7DFF62
-40: 3C9A14C4226EBCC5
-41: C5FD46242DB29704
-42: D45A96723FF62201
-43: BB015D10878CF70D
-44: 71DB021BE398D41A
-45: 06F52D237F06C260
-46: 3552F47E8CCFC73F
-47: 769E33828AD5D88E
-48: 659861DDF080AA67
-49: CF7A13782F317342
+Key Size: 40 bytes
+ 0: 499CA6E04E447261
+ 1: 728882B8835E47C1
+ 2: ECEF0688A651A617
+ 3: F008B13D01734B28
+ 4: 4DD2934EAB4FB4D1
+ 5: 2610DC4D4F261556
+ 6: 58797B0A1BB0131D
+ 7: D16E3E20C362E473
+ 8: F06652826F5C5B57
+ 9: F11F3E9C4686182F
+10: 28C7C8BB460BEDEE
+11: AEFB7D2FD8ABC2D8
+12: C146E26643553835
+13: 232FC2BF8A54219A
+14: 55703720CAF243FD
+15: 7F2EAF0D1D20978A
+16: 213C6A158947CB1B
+17: FF9495B73253E80F
+18: 47D1BD02FB3EC859
+19: 51E21481E4B6A7B6
+20: A0D0EDDA03CE852C
+21: A162AE2A969387DE
+22: 0A5ECE5DF19B2AF5
+23: 41F16D234B6EAAAB
+24: EC8FFC42CAAAF006
+25: EFFD6F1E48FCDAFB
+26: C091EDD3A4937757
+27: 5C9B2F970D0C115A
+28: 27F3768CCAD92583
+29: D3FCCF9BFBF47996
+30: 8D7854949C015FA2
+31: 9648DFC6ACA2C806
+32: A8D4F0B7CCCF9B38
+33: 3A0812F891E84837
+34: 021E33D097ED37ED
+35: F4B31EF29788D5D2
+36: DE46AE6BFC93EA13
+37: 1E4A27A26F8AAFC1
+38: 945FBB73407F73DA
+39: CCEB336C66167016
+40: 3FC46259D0C5FBE7
+41: 42E982B0B4778F78
+42: F04AAA8A3F7F06D3
+43: 325FE8B823755009
+44: E30D2BA24EDBC63A
+45: 642CC42E7D56A67F
+46: 9DE0BFDB6175B0AC
+47: C472D350DAFC74BE
+48: 2B393770C304450A
+49: DD0520D329153A2B
+
+Key Size: 72 bytes
+ 0: C8F5C1689AAF6034
+ 1: BF658D1CEFF752E8
+ 2: 5EE91DFF2566390E
+ 3: FF7BECB092A623C6
+ 4: C859539E96858608
+ 5: 3DD851E952DCE432
+ 6: 2DEBF6749EC8E410
+ 7: 88B77C535B5E2579
+ 8: A67384DCDCCC3C8E
+ 9: 1F974C7714F97B4E
+10: 4B9D2C2F3ED46CAA
+11: 12A9D60543AFEFD3
+12: 941ECA1A09703CD8
+13: 0464288B28188B93
+14: FFCDE810BDFBD767
+15: 50CF8A479D54B460
+16: E7C44BE3BC654AF4
+17: 08F2E8DAE7EAEFDD
+18: 2470C7547814D06F
+19: 5799821CFA47439C
+20: 7164459D5E911B19
+21: 3B806337776D07D9
+22: FEE121F2A2C557D9
+23: 4F0A0398BCBD3EAC
+24: ECA873E2BC43B2BA
+25: B2F25596E6A46A9B
+26: EA1EC81B4671CA39
+27: 1DFF55EE370C5343
+28: 9FAD2354251FB216
+29: B21B342FAEA8B64F
+30: E5A1C35072011C6E
+31: 5317FC0F857832D5
+32: 0E9B60ADD0A47426
+33: 0A014F6356BA971E
+34: 331F416B4CA6B922
+35: 7F9536CF96852A1F
+36: F9D80E7CEA338F6C
+37: 13B67FC20B26C44E
+38: BDB946F241293716
+39: 02EFA671E6A236B0
+40: F2A34AF9EFD0DC25
+41: AC6721A0C4AF4EFA
+42: C1CF63C113586423
+43: 23CA7D016FBC6973
+44: 924693EA6440AA19
+45: 7B8B278C28FA5FFA
+46: 2EABC1470FB3A0FC
+47: 99A4CD16C7156F4B
+48: 1338F4738C6A5EAA
+49: 036C4748A4AAE029
 
 
 Cipher: xtea

+ 4 - 4
src/ciphers/blowfish.c

@@ -12,7 +12,7 @@ const struct ltc_cipher_descriptor blowfish_desc =
 {
     "blowfish",
     0,
-    8, 56, 8, 16,
+    8, 72, 8, 16,
     &blowfish_setup,
     &blowfish_ecb_encrypt,
     &blowfish_ecb_decrypt,
@@ -433,7 +433,7 @@ int blowfish_setup(const unsigned char *key, int keylen, int num_rounds,
                   symmetric_key *skey)
 {
    /* check key length */
-   if (keylen < 8 || keylen > 56) {
+   if (keylen < 8 || keylen > 72) {
       return CRYPT_INVALID_KEYSIZE;
    }
    /* check rounds */
@@ -648,8 +648,8 @@ int blowfish_keysize(int *keysize)
    if (*keysize < 8) {
       return CRYPT_INVALID_KEYSIZE;
    }
-   if (*keysize > 56) {
-      *keysize = 56;
+   if (*keysize > 72) {
+      *keysize = 72;
    }
    return CRYPT_OK;
 }