#1
  1. No Profile Picture
    Registered User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Jul 2013
    Location
    USA
    Posts
    5
    Rep Power
    0

    Exclamation New Encryption Algorithm/Protocol


    Hey everyone. I'm totally new to this site and, for all intents and purposes, totally new to the world of cryptography. I have always wanted to develop an encryption algorithm and corresponding application. So a few months ago I started. After four distinct "builds," I believe I have something that is worth something. But maybe not.

    At any rate, I call it the "PLE Algorithm" (Padlock Encryption Algorithm).

    I'd like it to be scrutinized, both to see if it is secure and to get feedback as to how to improve it for open-market use. Keep in mind that I foresee this being used primarily to encrypt and send small messages (current cap is 20,000 typed characters) from one party to another. It may have other uses, but for now, this is the extent of my plan.

    At present, I have both a fully-functional algorithm and program. AKA, I can encrypt and decrypt messages using the algorithm with a 100% success rate. As such, in describing the algorithm and protocol, I will use actual data.

    Please forgive me if I use cryptographic terms incorrectly or clumsily. As I mentioned, I've only been at this a few months. And, unfortunately, as I have zero significant knowledge or experience in any low-level programming languages, or even in common web-programming languages, I have built my program using something with which I am familiara database and custom software solution development program owned by Apple, called "Filemaker Pro." Some of you may have heard of it. Some of you may laugh. Well, it's the best I can do for now, so please bear with me.

    As I expect that my description may exceed the character limit for a given post, I will likely post it over one, two, or even three posts. Any and all feedback is welcome. Also, please don't steal my ideas (provided they are shown to, in fact, be unique and, most importantly, worth any degree of a hill of beans).
  2. #2
  3. No Profile Picture
    Registered User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Jul 2013
    Location
    USA
    Posts
    5
    Rep Power
    0

    PLE Algorithm - Part I


    This is a cypher I just generated using PLE:

    >>>>>(p5yJ+X^o߈֛Y%>4(YLa.}_%4]HwđGY+<!NPTTV@w%>3ZI{F-e:*Rtj%d](F&;Wi#Y\W֓t{{ZO?qY8e,P*̞! O&,K6`S>bLdbWPDߡλBlχ0in9kQ!Ξ{rnŊq(~=F!*F0*1CN;9w kGQxgUkВ5>U|]M(<<<<<

    Original Message: This cypher better be secure, because I have spent many, many hours developing the algorithm that generated it. If I find that it is weak or useless, I'm going to be very put out!

    Key: aaaaaaaa1!

    -------Cypher Components-------
    Each PLE cypher consists of five components:
    1. Start/End Tags
    2. An encrypted, hashed, converted-alphanumeric-KEY-shifted random number
    3. An encrypted, hashed, random-number-shifted, converted alphanumeric KEY
    4. An encrypted, hashed, random shift-start value
    5. The encrypted message


    Before I get into the encryption protocol, let me describe the cypher's components.

    1. Start/End Tags

    These are straight-forward and are easily visible in the cypher. ">>>>>" marks the first character in the cypher, while "<<<<<" marks the final character in the cypher. NOTE: These markers are not part of the cypher, and the program will decrypt the cypher with or without them.

    2. An encrypted, hashed, converted-alphanumeric-KEY-shifted random number
    Each time PLE is run, a random number is generated to shift the KEY's numeric value. This random number is always identical in length as the KEY's numeric value:
    KEY: aaaaaaaa1!
    KEY's numeric value: 1606804262247430615645404203345124323379345405920321000 (how this is generated will be described later)
    Random Number: 5882901007068545037514398365259184767758609001213860726
    Hashed Random Number: 2YpR1yK2F?URe*IoQlR-w0$%hk4XR$z*se@RtR!SPZ1iwf5lGG6XY+<
    Encrypted Random Number Hash: (p5yJ+X^o߈֛Y%>4(YLa.}_%4]HwđGY+<

    3. An encrypted, hashed, random-number-shifted, converted alphanumeric KEY
    The random number is used to shift the KEY's numeric value, thus concealing the original KEY.
    KEY: aaaaaaaa1!
    KEY's numeric value: 1606804262247430615645404203345124323379345405920321000 (how this is generated will be described later)
    Random Number: 5882901007068545037514398365259184767758609001213860726
    Shifted KEY: 6488705269205975642159792568594208080027944406133181726
    Hashed Shifted Key: F=GjBNH8rpCTroX2KF5O+Q#3JsF>ugJxF4e9*RTbyF<AdJ2$HKeu5*<
    Encrypted Shifted Key Hash: !NPTTV@w%>3ZI{F-e:*Rtj%d](F&;

    4. An encrypted, hashed, random shift-start value
    Each time PLE is run, a random number is generated to determine the starting value from which all characters will be cyclically shifted during the encryption process.
    I actually did not take note of the randomly generated shift value in this particular encryption, nor did I note the hashed version of it, but this is the encrypted, shift-value hash: Wi#

    5. The encrypted message

    This is straightforward. The encrypted message is equal in length with its source text, character for character.
    Message: This cypher better be secure, because I have spent many, many hours developing the algorithm that generated it. If I find that it is weak or useless, I'm going to be very put out! (180 characters)
    Encrypted Message: Y\W֓t{{ZO?qY8e,P*̞! O&,K6`S>bLdbWPDߡλBlχ0in9kQ!Ξ{rnŊq(~=F!*F0*1CN;9w kGQxgUkВ5>U|]M( (180 characters)

    That is the segmentation of the PLE cypher. Now the whole thing, color coded:
    >>>>>(p5yJ+X^o߈֛Y%>4(YLa.}_%4]HwđGY+<!NPTTV@w%>3ZI{F-e:*Rtj%d](F&;Wi#Y\W֓t{{ZO?qY8e,P*̞! O&,K6`S>bLdbWPDߡλBlχ0in9kQ!Ξ{rnŊq(~=F!*F0*1CN;9w kGQxgUkВ5>U|]M(<<<<<


    Now I'll describe the algorithm and protocol in greater detail.
  4. #3
  5. No Profile Picture
    Registered User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Jul 2013
    Location
    USA
    Posts
    5
    Rep Power
    0

    PLE Algorithm - Part II


    The PLE encryption protocol has 24 main steps that together perform five major functions in the development of the PLE Cypher:

    I. KEY GENERATION & CONCEALMENT (A -> C)

    1. Convert alphanumeric/symbol KEY (A) to an expanded NUMERIC KEY (B)
    2. Generate a RANDOM NUMBER (N) equal in length to the NUMERIC KEY (B)
    3. Shift each digit in the NUMERIC KEY (B) by wrap-adding to it the digit in the corresponding location in the RANDOM NUMBER (N)result: SHIFTED NUMERIC KEY (C)

    II. RANDOM NUMBER CONCEALMENT (N -> R)
    4. Hash the RANDOM NUMBER (N) using a 100,001-record, 5-character-per-hash lookup tableresult: HASHED RANDOM NUMBER (M)
    5. Convert each character in the HASHED RANDOM NUMBER (M) to a number using a character-lookup tableresult: CODED RANDOM NUMBER DIGITS(O)
    6. Shift each specific CODED RANDOM NUMBER DIGIT (O) by wrap-adding to it the digit in the corresponding location in the SHIFTED NUMERIC KEY (C)result: SHIFTED RANDOM NUMBER DIGITS (P)
    7. Convert each SHIFTED RANDOM NUMBER DIGIT (P) to a character using a character-lookup tableresult: ENCRYPTED RANDOM NUMBER CHARACTERS(Q)
    8. Combine all ENCRYPTED RANDOM NUMBER CHARACTERS (Q) into the ENCRYPTED RANDOM NUMBER (R)

    III. SHIFTED NUMERIC KEY CONCEALMENT (C -> H)
    9. Hash the SHIFTED NUMERIC KEY (C) using a separate 100,001-record, 5-character-per-hash lookup tableresult: HASHED NUMERIC KEY (D)
    10. Convert each character in the HASHED NUMERIC KEY (D) to a number using a character-lookup tableresult: CODED NUMERIC KEY DIGITS (E)
    11. Shift each specific CODED NUMERIC KEY DIGIT (E) by wrap-adding to it the digit in the corresponding location in the RANDOM NUMBER (N)result: SHIFTED NUMERIC KEY DIGITS (F)
    12. Convert each SHIFTED NUMERIC KEY DIGIT (F) to a character using a character-lookup tableresult: ENCRYPTED NUMERIC KEY CHARACTERS (G)
    13. Combine all ENCRYPTED NUMERIC KEY CHARACTERS (G) into the ENCRYPTED NUMERIC KEY (H)

    IV. SHIFT VALUE GENERATION AND CONCEALMENT (I >-> S)
    14. Generate a RANDOM SHIFT-START VALUE (I) which gives the encryption algorithm the value of the first character-encryption shift
    15. Hash the RANDOM SHIFT-START VALUE (I) using a 100,001-record, 5-character-per-hash lookup tableresult: HASHED START VALUE (J)
    16. Convert each character in the HASHED START VALUE (J) to a number using a character-lookup tableresult: CODED START VALUE DIGITS (K)
    17. Shift each specific CODED START VALUE DIGIT (K) by wrap-adding to it the digit in the corresponding location in the SHIFTED NUMERIC KEY (C)result: SHIFTED START VALUE DIGITS (L)
    18. Convert each SHIFTED START VALUE DIGIT (L) to a character using a character-lookup tableresult: ENCRYPTED START VALUE CHARACTERS (M)
    19. Combine all ENCRYPTED START VALUE CHARACTERS (M) into the ENCRYPTED START VALUE (S)

    V. MESSAGE ENCRYPTION (T -> X)
    20. Convert each character in the MESSAGE (T) to a number using a character-lookup tableresult: CODED MESSAGE DIGITS (U)
    21. Shift each specific CODED MESSAGE DIGIT (U) by wrap-adding to it the digit in the corresponding location in the SHIFTED NUMERIC KEY (C) plus the RANDOM SHIFT-START VALUE (I)result: SHIFTED MESSAGE DIGITS (V)
    21-NOTE. Starting from its initial value, the RANDOM SHIFT-START VALUE (I) is increased by 3 for each character, wrapping around to begin again at zero as it exceeds the number of characters in the PLE cypher's character set.
    22. Convert each SHIFTED MESSAGE DIGIT (V) to a character using a character-lookup tableresult: ENCRYPTED MESSAGE CHARACTERS (W)
    23. Combine the ENCRTYPTED RANDOM NUMBER (R), the ENCRYPTED NUMERIC KEY (H), the ENCRYPTED START VALUE (S) and all ENCRYPTED MESSAGE CHARACTERS (W) into the FINAL CYPHER (X)
    24. Add START/END MARKERS to indicate where the FINAL CYPHER (X) begins and ends.

    That's the rundown, folks. Time to pick it apart (your job).
  6. #4
  7. No Profile Picture
    Registered User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Jul 2013
    Location
    USA
    Posts
    5
    Rep Power
    0

    Additional Information


    Just for kickers, I'll generate a cypher which should exhibit the algorithm's inherent pattern-elimination properties. I will use the following to create 5 distinct cyphers:

    Message: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

    Key: aaaaaaaa1!aaaaaaaa1!aaaaaaaa1!

    (I would use all "a"s, but the program requires at least one number and one symbol in the key, in addition to requiring a minimum of 10 total characters)

    Cypher 1:

    >>>>>BJZ8Xdn*VsFYF)tHht$KG0gtajSoacWt
    m~e(UkH5󑱗b{:..N%a>9#I^9&~uxAڌ<Io190;WewGIWIMԀ* EҥLf\I2OxM(Wa6jx%WXCfM4A_W<2M/Rև5n?]qxUٰ_eFFz2A.\&^^^~*Y1[H[W
    QQ>k$$֑)J]ZqlvްTe_e*!%ܱzd,@&^^K~-XCP9QQQϓGh+hpiJ? vsv㰲_%(d2,guI6KYX-XcWHݻy9yQQߓևDJnq] vȼ=_F#z<<<<<

    Cypher 2:

    >>>>>lH/ avWo=2d~)Y?;CI@x+GL#xe;`Cʀ->|? 7Z*oEkQJ}E@8AG]?ZaEKİ8;C24}E{N_pAٌD|I;01!<p{;e5Hu!6U
    {fIFS-o򱋳CJg/;v~̬įΩǃ+Dp5VfZZs8e!FF%Oܶ(u&44*-WW
    9<<h}RDnVZ lLLre=a*F322A.bIw~~X䚛cBWM
    yy`9:ΜGRDpp;?JJqUUɰtTa_!F32(mg\6XN䙛0P۽j:/}o5p)?xqƈL8LT_a<<<<<

    Cypher 3:

    >>>>>*o<_czGt\!{Kb20Z{LI܀50JC,L#g_fx&8`62iF(o.ŀd?u@4C n=l>j*HX؄bW#q9@c;!Lw^_!2svLA=X;ǤBWcC^auLٖ݀e͘SQE+xfXZ<UAW=&c/ա7j/$o?]q lUȲeT!=OO(AA,\b^w-0WMݹy:Q/<R;;nVnZ{ˈٰ㞧_!z(d,mgS64XYBBMyQ/<򜖃Do;p)|fZxv ULrrTFF32E\&IKw͘4-1Mڅ
    `k>$R55D)fV<<<<<

    Cypher 4:

    >>>>>/#Z_9c784ʦ4b !sPԬ7-H9př-H-zm
    lU*0gҪ24Pq6&،kDY`JP8Qg1J;Q2ЪuD&mJJpjd-4<!JwR:]>a%~ku%%Z֦ӣPu4kmpaMVg/xi
    co/Z!R*6NC1HW
    jϵ/<h+R}D)inJnī v„st_a!F#O2,,u^~XNXPCۮ`Gkǜ+Dip|?J]{vބU8Ȃ=Tta#ܳmubSK-N[By۵`QߓǨ$Ri;V{]Zlr8e=a#űzduEIS*YNCH[WWڻ:ϜRh5oi<<<<<

    Cypher 5:

    >>>>>II0O)R{FSBJk0Gր˸\tU*(E*Y6JdeQ+pEG[a)}PBKe2<q|-QB-C%bWgU&79Ԛt5Y?qM`)oI>]s[Cqb !B[{i-fhOl;dbJ00IXPJ(H%efEcPչ
    y:<$Rh;p|Jx UveTeF3z(d@;~YNc[0
    9۽</</}i;f?ZU8Te_׀Oѳ@(Emu64XYXHW0M
    yy`<>}Rh;;n?fq]UUބtF#%Oz2(.EE&KYX-BM7yy:k>+p)?|<<<<<



    As you can see, while there are occasional repeated characters in the cypher, they neither repeat at the same intervals within a cypher, or in the same locations across cyphers. Nor does any cypher give any indication that the encrypted message is, in fact, a repetition of the same character.
  8. #5
  9. No Profile Picture
    Contributing User
    Devshed Novice (500 - 999 posts)

    Join Date
    May 2007
    Posts
    765
    Rep Power
    928
    Analyzing a cryptographic algorithm is a very complex & involved problem so you may not get much response here.

    Also, your post algorithm is very difficult to understand from your post. It would be a good idea to:
    • Use hex instead of characters when showing binary data (e.g. "4142" instead of "AB")
    • Describe your algorithm in precise mathematical terms and/or show a source code of an implementation.
    • Use standard terminology (e.g. "addition modulo 10" instead of "wrap-adding")
    sub{*{$::{$_}}{CODE}==$_[0]&& print for(%:: )}->(\&Meh);
  10. #6
  11. No Profile Picture
    Registered User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Jul 2013
    Location
    USA
    Posts
    5
    Rep Power
    0
    Originally Posted by OmegaZero
    Analyzing a cryptographic algorithm is a very complex & involved problem so you may not get much response here.
    Oh. I must have misunderstood. I thought that such requests were part of the purpose of this sub-forum.

    Originally Posted by OmegaZero
    Also, your post algorithm is very difficult to understand from your post. It would be a good idea to:
    • Use hex instead of characters when showing binary data (e.g. "4142" instead of "AB")
    • Describe your algorithm in precise mathematical terms and/or show a source code of an implementation.
    • Use standard terminology (e.g. "addition modulo 10" instead of "wrap-adding")
    I understand your points. Unfortunately, due to my own inexperience and/or ignorance, I am unable to produce what you request. So, while I am willing to learn, my guess is that it will take someone with abiding patience and/or interest to walk the path with me until I am able to walk it on my own.
  12. #7
  13. No Profile Picture
    Registered User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Oct 2013
    Posts
    19
    Rep Power
    0

    skcjju256


    Originally Posted by PLE-Cypher
    Oh. I must have misunderstood. I thought that such requests were part of the purpose of this sub-forum.

    I understand your points. Unfortunately, due to my own inexperience and/or ignorance, I am unable to produce what you request. So, while I am willing to learn, my guess is that it will take someone with abiding patience and/or interest to walk the path with me until I am able to walk it on my own.
    Welcome to my world. Maybe you should it the way I did it.
    www. I kind made sure that I have all of it posted on a site.
    skcjju256. That way I know that someone patient probably sent by God will com.

    You want to be a cryptographer pls look at the note closely and to that site. We can help each other.
  14. #8
  15. No Profile Picture
    Registered User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Oct 2013
    Posts
    19
    Rep Power
    0

    skcjju256


    Originally Posted by PLE-Cypher
    Just for kickers, I'll generate a cypher which should exhibit the algorithm's inherent pattern-elimination properties. I will use the following to create 5 distinct cyphers:

    Message: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

    Key: aaaaaaaa1!aaaaaaaa1!aaaaaaaa1!

    (I would use all "a"s, but the program requires at least one number and one symbol in the key, in addition to requiring a minimum of 10 total characters)

    Cypher 1:

    >>>>>BJZ8Xdn*VsFYF)tHht$KG0gtajSoacWt
    m~e(UkH5󑱗b{:..N%a>9#I^9&~uxAڌ<Io190;WewGIWIMԀ* EҥLf\I2OxM(Wa6jx%WXCfM4A_W<2M/Rև5n?]qxUٰ_eFFz2A.\&^^^~*Y1[H[W
    QQ>k$$֑)J]ZqlvްTe_e*!%ܱzd,@&^^K~-XCP9QQQϓGh+hpiJ? vsv㰲_%(d2,guI6KYX-XcWHݻy9yQQߓևDJnq] vȼ=_F#z<<<<<

    Cypher 2:

    >>>>>lH/ avWo=2d~)Y?;CI@x+GL#xe;`Cʀ->|? 7Z*oEkQJ}E@8AG]?ZaEKİ8;C24}E{N_pAٌD|I;01!<p{;e5Hu!6U
    {fIFS-o򱋳CJg/;v~̬įΩǃ+Dp5VfZZs8e!FF%Oܶ(u&44*-WW
    9<<h}RDnVZ lLLre=a*F322A.bIw~~X䚛cBWM
    yy`9:ΜGRDpp;?JJqUUɰtTa_!F32(mg\6XN䙛0P۽j:/}o5p)?xqƈL8LT_a<<<<<

    Cypher 3:

    >>>>>*o<_czGt\!{Kb20Z{LI܀50JC,L#g_fx&8`62iF(o.ŀd?u@4C n=l>j*HX؄bW#q9@c;!Lw^_!2svLA=X;ǤBWcC^auLٖ݀e͘SQE+xfXZ<UAW=&c/ա7j/$o?]q lUȲeT!=OO(AA,\b^w-0WMݹy:Q/<R;;nVnZ{ˈٰ㞧_!z(d,mgS64XYBBMyQ/<򜖃Do;p)|fZxv ULrrTFF32E\&IKw͘4-1Mڅ
    `k>$R55D)fV<<<<<

    Cypher 4:

    >>>>>/#Z_9c784ʦ4b !sPԬ7-H9př-H-zm
    lU*0gҪ24Pq6&،kDY`JP8Qg1J;Q2ЪuD&mJJpjd-4<!JwR:]>a%~ku%%Z֦ӣPu4kmpaMVg/xi
    co/Z!R*6NC1HW
    jϵ/<h+R}D)inJnī v„st_a!F#O2,,u^~XNXPCۮ`Gkǜ+Dip|?J]{vބU8Ȃ=Tta#ܳmubSK-N[By۵`QߓǨ$Ri;V{]Zlr8e=a#űzduEIS*YNCH[WWڻ:ϜRh5oi<<<<<

    Cypher 5:

    >>>>>II0O)R{FSBJk0Gր˸\tU*(E*Y6JdeQ+pEG[a)}PBKe2<q|-QB-C%bWgU&79Ԛt5Y?qM`)oI>]s[Cqb !B[{i-fhOl;dbJ00IXPJ(H%efEcPչ
    y:<$Rh;p|Jx UveTeF3z(d@;~YNc[0
    9۽</</}i;f?ZU8Te_׀Oѳ@(Emu64XYXHW0M
    yy`<>}Rh;;n?fq]UUބtF#%Oz2(.EE&KYX-BM7yy:k>+p)?|<<<<<



    As you can see, while there are occasional repeated characters in the cypher, they neither repeat at the same intervals within a cypher, or in the same locations across cyphers. Nor does any cypher give any indication that the encrypted message is, in fact, a repetition of the same character.
    If you use too many random numbers that is a very weak sign.

    I am going to help you with some pointers. I don't know much but I have done some tinkering around.

    1.Frequency analysis of your PLE (use cyptography tools version 1.21
    If you do this and find out that an attacker knows your language. You should know right away you are not up to per (they check how often certain words appears e.g a, e, o, i, u. This mean your crypto-system is weak.

    2. Use this tool Cryptool Beta 1.4.1 3b. This will even tell you the entropy and clearly show you what you have wrong. If this tool can identify all the 26 chars you are not even close to a good system. To have a good system you must not conform to the crypto analysis tools start with analyzing you work.

    3. Go to this site http://www.richkni.co.uk/php/crypta/freq.php and run your cipher text. Use cryto tools developed by people like Bruce Schneier. Don't worry about the stuff people say if you PLE can sneak under the crypto analysis tools you have beat all for now. Until they figure out what you did. Don't get intimidated if you fail try again until you beat them.

    4. In the system present today make sure you entropy is not high if it is you are weak again.
  16. #9
  17. No Profile Picture
    Contributing User
    Devshed Novice (500 - 999 posts)

    Join Date
    Feb 2008
    Posts
    601
    Rep Power
    43
    Start/End Tags
    Your system has you beaten before you started. Fixed text, that we know exists at the start/end of any encrypted string will assist with analysis of the rest of the encrypted text.

    It's very doubtful you will create anything secure, unless you get very, very lucky.

    Stick to one of the known ciphers (RSA, AES are good choices) and implement them properly (note that programming errors in implementation can leak information about the keys and weaken the encryption if you are not careful).

    Best regards,
    AstroTux.

IMN logo majestic logo threadwatch logo seochat tools logo