AlphaDHE

DiffieHellman Ephemeral for A-Z ciphers


Keywords
cryptography
License
GPL-3.0
Install
pip install AlphaDHE==0.2

Documentation

AlphaDHE - DiffieHellman Ephemeral for A-Z ciphers

Note: Requires pycube and pycrypto to be installed.

Uses 1024 bit primes by default. The alpha.py script allows two parties to develop a shared secret by exchanging values. The resulting secret key is hashed using pycube to create a key of desired size. (Default is 32 letters)

Script usage:

Initiator: python alpha.py init
Other party: python alpha.py

Example

  • Initiator generates g, p and his secret

Initial step: Send g and p to your peer
g: BFHJJCAGACDCJDDFCIJHIFIFJJFFEBEBECEJDIGHDADCIIEDIBDJDEBEDAFGAEHDIEFJJFHDGADEGEABAHFGBHGBFCBFABFJHFHFJHIEBDFJDCJCJBBEDJFCIJHHDCJHABBJBGGGFJHGDJEJBHJFEFCAECAAEHIFIIEGHJBBBGIFJFBGBDJIHJCFEAGBDBBDBFHIAJBAHICIGEFFJIAIGGHADGCFFGEIEBGBFCGFBFGGIJBCACDIJBAJFADEEADIBAHHGDFHDJCJJAJFACHBGJIFGIFIHAGJECBHIBHIDHEHHJECIDEAD
p: BAJHHDBAIFHIFJDCCGCFDFEJGJJHFDBJEGEJCDBBFBIHJADHGHDHDCCHACBJHCGGDBIABHBIEHJHGHAJIIJCEGGJEFHIDJDDHBICIEEBJEEJGCBAHBBCECJEEBGGGGHJBJAJIAAGEEBDEDAGFECHHBICJBCIEFEDDBGJICGHHDEEIHAAADFAHIFCIJJCEEDGEBIGBCCECHBEFEGHGIEFJEBABDACBIFFGBBGBGIHJEIHGJBAEJAEHCIBFDCIGDJDIBGCBBJIIBHCIDIBHHGABDBGJHEJEFEEJAGDEHBBFAEEAIDAIHCJJ
Step 1: Send this public key to your peer DDJICJJFHHAIHFGBHEJIBEHAJHEBEFCIAIJECDIDBHFEBIHBFFJBAGGHJBAIAACBJDJBDEDFAACGGFACHIJGAFJJDAFJDAJFHAFJGEIGIJJDBBHHAEGDDGAFEFDDDBJFJGIACBHBCCAAAAIECAEGAHGJFGGADBCDEJGBGAIGFHDIDCDIFJCCJJFCDEAIDJEBAHHAGBBJHFDEJICEJCDEGFGEHCHGCBHCCHBGEEEHBBAHEGGDIGECDHGDCEHDABJABCBIBGDBHCFAIICDHCGJGAAFBEJIDECEHACGAJDAEBDJBBAFAJC

  • Other party generates a secret and inputs the inititor's g and p values and calculates public key which is sent to the initiator.

Enter your peer's g value: BFHJJCAGACDCJDDFCIJHIFIFJJFFEBEBECEJDIGHDADCIIEDIBDJDEBEDAFGAEHDIEFJJFHDGADEGEABAHFGBHGBFCBFABFJHFHFJHIEBDFJDCJCJBBEDJFCIJHHDCJHABBJBGGGFJHGDJEJBHJFEFCAECAAEHIFIIEGHJBBBGIFJFBGBDJIHJCFEAGBDBBDBFHIAJBAHICIGEFFJIAIGGHADGCFFGEIEBGBFCGFBFGGIJBCACDIJBAJFADEEADIBAHHGDFHDJCJJAJFACHBGJIFGIFIHAGJECBHIBHIDHEHHJECIDEAD
Enter your peer's p value: BAJHHDBAIFHIFJDCCGCFDFEJGJJHFDBJEGEJCDBBFBIHJADHGHDHDCCHACBJHCGGDBIABHBIEHJHGHAJIIJCEGGJEFHIDJDDHBICIEEBJEEJGCBAHBBCECJEEBGGGGHJBJAJIAAGEEBDEDAGFECHHBICJBCIEFEDDBGJICGHHDEEIHAAADFAHIFCIJJCEEDGEBIGBCCECHBEFEGHGIEFJEBABDACBIFFGBBGBGIHJEIHGJBAEJAEHCIBFDCIGDJDIBGCBBJIIBHCIDIBHHGABDBGJHEJEFEEJAGDEHBBFAEEAIDAIHCJJ
Step 1: Send this public key to your peer BHIJDBJEGGBEDJJDBGECHHIAIDEDFJGEAIAGIEAHJHBJIFGHIADGJJGDDCFJCEGEJIIDEEHDJGCFHACEAHAAFIBIGIFDCDDJEBDIAJEHHHHDICEDEIJBIFBJEJDIJCFIIBGEHDDGBHGEFEGJGEBAHCGDAHECHIJEEJAHIDJHCJDFFAACDAFDDEIJDIBFJJEJDFJAJJDBJDJDGGCCEGCAIDBDCBAADEJGCAIHGEHDCGHFBDCIHBHJFAFAACEJBIADCHGDECHEEDAEEGJJHHHDCEAAACEIGEJGCEJIBFAGIFBAFDFFAAB

  • Initiator computes the shared secret from other party's public key, hashes the result and arrives at the secret session key

Enter peer's public key: BHIJDBJEGGBEDJJDBGECHHIAIDEDFJGEAIAGIEAHJHBJIFGHIADGJJGDDCFJCEGEJIIDEEHDJGCFHACEAHAAFIBIGIFDCDDJEBDIAJEHHHHDICEDEIJBIFBJEJDIJCFIIBGEHDDGBHGEFEGJGEBAHCGDAHECHIJEEJAHIDJHCJDFFAACDAFDDEIJDIBFJJEJDFJAJJDBJDJDGGCCEGCAIDBDCBAADEJGCAIHGEHDCGHFBDCIHBHJFAFAACEJBIADCHGDECHEEDAEEGJJHHHDCEAAACEIGEJGCEJIBFAGIFBAFDFFAAB

Secret Session key: QYPMITUSMHCYCZEC

  • Other party computes the shared secret from the initiators public key, hashes the result and arrives at the secret session key

Enter peer's public key: DDJICJJFHHAIHFGBHEJIBEHAJHEBEFCIAIJECDIDBHFEBIHBFFJBAGGHJBAIAACBJDJBDEDFAACGGFACHIJGAFJJDAFJDAJFHAFJGEIGIJJDBBHHAEGDDGAFEFDDDBJFJGIACBHBCCAAAAIECAEGAHGJFGGADBCDEJGBGAIGFHDIDCDIFJCCJJFCDEAIDJEBAHHAGBBJHFDEJICEJCDEGFGEHCHGCBHCCHBGEEEHBBAHEGGDIGECDHGDCEHDABJABCBIBGDBHCFAIICDHCGJGAAFBEJIDECEHACGAJDAEBDJBBAFAJC

Secret Session key: QYPMITUSMHCYCZEC