Prev: How do you determine how many guesses an attacker would need toguess a key or keystream? (stream ciphers)
Next: A variation of the Hill cipher
From: Skybuck Flying on 24 Jan 2010 03:16 Hello, The current rankings are as follows: Place: Name: Points: 1 Phoenix/Alvo 4 2 Ilmari Karonen 2 CryptoAnalysis Game 4: Introduction: War has fallen upon the lands ! Some of the enemy communication machines have been captured ! The enemy attack plan has been intercepted ! However it seems we are missing a key to decipher it ?! Your mission: "Crack their attack plan as soon as possible !" The secret enemy attack plan is a string of hexadecimals: 98D3DFE989A877D8DBDCD587C7D3E1D3CECCBB81 E6DF89CFC0CDDE909E9C77C2E0D489A8C9CEEB90 AB87CECADEDC89D7C9D0D5D5CECB77D5E190D1D0 C3CD92A4A09577A2E6909D87C1D6DEE989998792 A390E0CC77D8DBDCD587B8D5E6D1CCD277D5DAD5 D687CBD0D9D5DDCFBCD392D1DD87BCD9D3D3DDD3 D081A5AA999777CAE090DDCFBC81DFDFDBD5C0CF D9908A879ED0D690CBD3BCD4E590DEDA77C2DEDC 8988 The secret enemy key is a string and it's content and length are unknown ?!? The three enemy machines are: 1. The PosMod machine is: Output = Input mod 256; if Output < 0 then begin Output = Output + 256; end; 2. The encryption machine is: KeyIndex = 1; for CharIndex = 1 to Length(vInput) begin Output[CharIndex] = PosMod( Input[CharIndex] + Key[KeyIndex] ); KeyIndex = KeyIndex + 1; if KeyIndex > Length(Key) then begin KeyIndex = 1; end; end; 3. The decryption machine is: KeyIndex = 1; for CharIndex = 1 to Length(vInput) begin Output[CharIndex] = PosMod( Input[CharIndex] - Key[KeyIndex] ); KeyIndex = KeyIndex + 1; if KeyIndex > Length(Key) then begin KeyIndex = 1; end; end; Our top-engineers have uncovered/learned the workings of these machines, here is a short description straight from our top-engineers: Each character is added/subtracted with the key. As the characters are encrypted/decrypted the key position is moved one forward and wrapped around if necessary. Here is a conceptual encryption workings-example for a key with a length of 3 characters: Output(1) = PosMod( Input(1) + Key(1) ) Output(2) = PosMod( Input(2) + Key(2) ) Output(3) = PosMod( Input(3) + Key(3) ) Output(4) = PosMod( Input(4) + Key(1) ) Output(5) = PosMod( Input(5) + Key(2) ) Output(6) = PosMod( Input(6) + Key(3) ) Output(7) = PosMod( Input(7) + Key(1) ) and so forth. All outputs have a range of 0 to 255, large positive and negative values are wrapped around with the PosMod machine. Decryption happens in the same way except the "+" is now a "-". Report to General Skybuck with your findings as soon as possible ! You will receive +5 points in case your intelligence is usuable ! Further hints might be provided by our spies inside the enemy lines ! So stay tuned for further hints from our spies ! ;) :) Bye, Skybuck.
From: unruh on 24 Jan 2010 11:32 On 2010-01-24, Skybuck Flying <IntoTheFuture(a)hotmail.com> wrote: > Hello, > > The current rankings are as follows: > > Place: Name: Points: > 1 Phoenix/Alvo 4 > 2 Ilmari Karonen 2 > > CryptoAnalysis Game 4: > > Introduction: > > War has fallen upon the lands ! Some of the enemy communication machines > have been captured ! > The enemy attack plan has been intercepted ! However it seems we are missing > a key to decipher it ?! > Your mission: "Crack their attack plan as soon as possible !" > > The secret enemy attack plan is a string of hexadecimals: > > 98D3DFE989A877D8DBDCD587C7D3E1D3CECCBB81 > E6DF89CFC0CDDE909E9C77C2E0D489A8C9CEEB90 > AB87CECADEDC89D7C9D0D5D5CECB77D5E190D1D0 > C3CD92A4A09577A2E6909D87C1D6DEE989998792 > A390E0CC77D8DBDCD587B8D5E6D1CCD277D5DAD5 > D687CBD0D9D5DDCFBCD392D1DD87BCD9D3D3DDD3 > D081A5AA999777CAE090DDCFBC81DFDFDBD5C0CF > D9908A879ED0D690CBD3BCD4E590DEDA77C2DEDC > 8988 > > The secret enemy key is a string and it's content and length are unknown ?!? > > The three enemy machines are: > > 1. The PosMod machine is: > > Output = Input mod 256; > > if Output < 0 then > begin > Output = Output + 256; > end; Since the definition of modulus is exactly a positive number between 0 and N-1, where N is the number the modulus is with respect to (mod N) this seems a bit irrelevant. > > 2. The encryption machine is: > > KeyIndex = 1; > for CharIndex = 1 to Length(vInput) > begin > Output[CharIndex] = PosMod( Input[CharIndex] + Key[KeyIndex] ); > KeyIndex = KeyIndex + 1; This is just a Ceasar cypher with a 256 letter alphabet. > > if KeyIndex > Length(Key) then > begin > KeyIndex = 1; > end; > end; And as soon as you reuse the key, it is woefully weak. If you do not reuse key material it is equivalent to a one time pad assuming that the key is a truely "random" string. > > 3. The decryption machine is: > > KeyIndex = 1; > for CharIndex = 1 to Length(vInput) > begin > Output[CharIndex] = PosMod( Input[CharIndex] - Key[KeyIndex] ); > KeyIndex = KeyIndex + 1; > > if KeyIndex > Length(Key) then > begin > KeyIndex = 1; > end; > end; > > Our top-engineers have uncovered/learned the workings of these machines, > here is a short description straight from our top-engineers: > > Each character is added/subtracted with the key. > As the characters are encrypted/decrypted the key position is moved one > forward > and wrapped around if necessary. > > Here is a conceptual encryption workings-example for a key with a length of > 3 characters: > > Output(1) = PosMod( Input(1) + Key(1) ) > Output(2) = PosMod( Input(2) + Key(2) ) > Output(3) = PosMod( Input(3) + Key(3) ) > Output(4) = PosMod( Input(4) + Key(1) ) > Output(5) = PosMod( Input(5) + Key(2) ) > Output(6) = PosMod( Input(6) + Key(3) ) > Output(7) = PosMod( Input(7) + Key(1) ) > and so forth. > > All outputs have a range of 0 to 255, large positive and > negative values are wrapped around with the PosMod machine. > > Decryption happens in the same way except the "+" is now a "-". > > Report to General Skybuck with your findings as soon as possible ! > > You will receive +5 points in case your intelligence is usuable ! > > Further hints might be provided by our spies inside the enemy lines ! > > So stay tuned for further hints from our spies ! ;) :) > > Bye, > Skybuck. > >
From: Paulo Marques on 24 Jan 2010 11:54 As unruh pointed out a Caesar cypher is weak and with a short key is even weaker. From a quick "paper and pencil" analysis the secret seems to be "Warpig". These games are kind of pointless from a cryptography point of view, but I've seen worst posts on sci.crypt... -- Paulo Marques
From: Skybuck Flying on 24 Jan 2010 13:16 "unruh" <unruh(a)wormhole.physics.ubc.ca> wrote in message news:slrnhlotho.gub.unruh(a)wormhole.physics.ubc.ca... > On 2010-01-24, Skybuck Flying <IntoTheFuture(a)hotmail.com> wrote: >> Hello, >> >> The current rankings are as follows: >> >> Place: Name: Points: >> 1 Phoenix/Alvo 4 >> 2 Ilmari Karonen 2 >> >> CryptoAnalysis Game 4: >> >> Introduction: >> >> War has fallen upon the lands ! Some of the enemy communication machines >> have been captured ! >> The enemy attack plan has been intercepted ! However it seems we are >> missing >> a key to decipher it ?! >> Your mission: "Crack their attack plan as soon as possible !" >> >> The secret enemy attack plan is a string of hexadecimals: >> >> 98D3DFE989A877D8DBDCD587C7D3E1D3CECCBB81 >> E6DF89CFC0CDDE909E9C77C2E0D489A8C9CEEB90 >> AB87CECADEDC89D7C9D0D5D5CECB77D5E190D1D0 >> C3CD92A4A09577A2E6909D87C1D6DEE989998792 >> A390E0CC77D8DBDCD587B8D5E6D1CCD277D5DAD5 >> D687CBD0D9D5DDCFBCD392D1DD87BCD9D3D3DDD3 >> D081A5AA999777CAE090DDCFBC81DFDFDBD5C0CF >> D9908A879ED0D690CBD3BCD4E590DEDA77C2DEDC >> 8988 >> >> The secret enemy key is a string and it's content and length are unknown >> ?!? >> >> The three enemy machines are: >> >> 1. The PosMod machine is: >> >> Output = Input mod 256; >> >> if Output < 0 then >> begin >> Output = Output + 256; >> end; > > Since the definition of modulus is exactly a positive number between 0 > and N-1, where N is the number the modulus is with respect to (mod N) > this seems a bit irrelevant. Ah ! theory vs practice... you might wanna brush up on your practice-skills, since you mistaking ! ;) Bye, Skybuc ;)
From: unruh on 24 Jan 2010 19:18
On 2010-01-24, Skybuck Flying <IntoTheFuture(a)hotmail.com> wrote: > > "unruh" <unruh(a)wormhole.physics.ubc.ca> wrote in message > news:slrnhlotho.gub.unruh(a)wormhole.physics.ubc.ca... >> On 2010-01-24, Skybuck Flying <IntoTheFuture(a)hotmail.com> wrote: >>> Hello, >>> >>> The current rankings are as follows: >>> >>> Place: Name: Points: >>> 1 Phoenix/Alvo 4 >>> 2 Ilmari Karonen 2 >>> >>> CryptoAnalysis Game 4: >>> >>> Introduction: >>> >>> War has fallen upon the lands ! Some of the enemy communication machines >>> have been captured ! >>> The enemy attack plan has been intercepted ! However it seems we are >>> missing >>> a key to decipher it ?! >>> Your mission: "Crack their attack plan as soon as possible !" >>> >>> The secret enemy attack plan is a string of hexadecimals: >>> >>> 98D3DFE989A877D8DBDCD587C7D3E1D3CECCBB81 >>> E6DF89CFC0CDDE909E9C77C2E0D489A8C9CEEB90 >>> AB87CECADEDC89D7C9D0D5D5CECB77D5E190D1D0 >>> C3CD92A4A09577A2E6909D87C1D6DEE989998792 >>> A390E0CC77D8DBDCD587B8D5E6D1CCD277D5DAD5 >>> D687CBD0D9D5DDCFBCD392D1DD87BCD9D3D3DDD3 >>> D081A5AA999777CAE090DDCFBC81DFDFDBD5C0CF >>> D9908A879ED0D690CBD3BCD4E590DEDA77C2DEDC >>> 8988 >>> >>> The secret enemy key is a string and it's content and length are unknown >>> ?!? >>> >>> The three enemy machines are: >>> >>> 1. The PosMod machine is: >>> >>> Output = Input mod 256; >>> >>> if Output < 0 then >>> begin >>> Output = Output + 256; >>> end; >> >> Since the definition of modulus is exactly a positive number between 0 >> and N-1, where N is the number the modulus is with respect to (mod N) >> this seems a bit irrelevant. > > Ah ! theory vs practice... you might wanna brush up on your practice-skills, > since you mistaking ! ;) That is like saying in theory 4/2=2 but in practice it might be 5 |