| Welcome to Crypto. We hope you enjoy your visit. You're currently viewing our forum as a guest. This means you are limited to certain areas of the board and there are some features you can't use. If you join our community, you'll be able to access member-only sections, and use many member-only features such as customizing your profile, sending personal messages, and voting in polls. Registration is simple, fast, and completely free. Join our community! If you're already a member please log in to your account to access all of our features: |
| Base Translations Ciphers; Using Multiple Bases for Encryption | |
|---|---|
| Tweet Topic Started: Jan 18 2014, 04:53 AM (3,382 Views) | |
| WTShaw | Feb 7 2014, 10:38 PM Post #46 |
|
Advanced Member
![]() ![]() ![]() ![]() ![]()
|
I see you are trying to find the same wavelength to further mutual understanding on base translation. Thanks! However, I'm not desirous of using a common base formula at all but rather clearly by moving through integer phases to maintain separate character sets that can be assigned to whatever characters in each as might be desired, which might have some characters with same ascii numbers in each set, or not. Space was used as a default for position zero because the alphabet was not scrambled in that version but whatever stood for space in the Pt set could occur in any position. I've copied you other relative post and will check it out further. I'll get back on this discussion this weekend but I, to quote a frontier cowboy, have several irons in the fire, including really cow related matters as I was moving big bales with the tractor this morning for pregnant cows and must I dole out feed and hay for some big calves by hand, and break ice, haul water because of frozen pipes, etc.... |
![]() |
|
| mok-kong shen | Feb 10 2014, 08:55 PM Post #47 |
|
NSA worthy
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
|
@WTShaw: Unless you have already done what I requested in my post#45 and are going to answer it, I would like herewith to suggest a different procedure, because it may not be very convenient for you to have to examine my code which is written in a different PL than what you are accustomed to hithertofore. You mentioned that your software currently had some troubles due to a new version of Javascript. But you certainly have some previous computing results recorded on paper. Could you kindly choose one (possibly small) example that illustrates very well your ideas of base change (any example, i.e. no matter whether it's B>A or B<A). Unless I had gravely erred, there are in any case two different alphabets involved. Suppose the plaintext is in an alphabet named alphabet A (which may eventually contain also characters not in the given piece of plaintext). Please write out alphabet A in full with its characters in the ordering you have chosen. Now there is another alphabet, call it alphabet B, which together with alphabet A are involved in your base change process. Please write that out in a similar manner. Finally please give the ciphertext that corresponds to the given plaintext. I badly need such an example in order to be able to check and be assured that the implementation of mine mentioned earlier indeed corresponds (at least largely, if not fully) to your original ideas and that it is definitely not the case that I had eventually (through misunderstanding, wrong interpretation of your earlier posts etc.) gone in a quite different direction. Many thanks in advance. Edited by mok-kong shen, Feb 10 2014, 08:57 PM.
|
![]() |
|
| WTShaw | Feb 13 2014, 03:06 AM Post #48 |
|
Advanced Member
![]() ![]() ![]() ![]() ![]()
|
My problems are not with my computer and javascript as my system uses operable defaults by good design but rather that those defaults might be incompatible with other computers...so to see if I am making progress there, I added some statements to one page, ShufflePlus: including Doctype, language, and character set. As placed at my host just now, there is no spyware in it presently: http://cryptopopcorn.com/Crypto/js/Simple/ShufflePlus.html If the bot is working, the spyware might return...I'll check later. It does stand to reason that YOUR computer might need the statements I added at the very top in order to function correctly. Let me know...I realize this is just a simple program, one of many, that needed the additions. Other work is ahead of us, but one step at a time... |
![]() |
|
| novice | Feb 13 2014, 01:20 PM Post #49 |
|
Super member
![]() ![]() ![]() ![]() ![]() ![]()
|
@WTShaw What is this program supposed to do? In my computer it does nothing. |
![]() |
|
| mok-kong shen | Feb 13 2014, 01:48 PM Post #50 |
|
NSA worthy
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
|
Excuse me for asking: Were you replying to my post#47 with that?? Allow me to quote from my post#47: "I badly need such an example in order to be able to check and be assured that ......". Many thanks for your soon answer in advance. |
![]() |
|
| WTShaw | Feb 14 2014, 04:50 AM Post #51 |
|
Advanced Member
![]() ![]() ![]() ![]() ![]()
|
@Novice If the program is working, select the title bar with a date for comments and instructions. The same text occurs in the source code. It does appear that the spyware has returned, which on my computer does not affect operation. The preceding sentence in one pass becomes: Iotmd pouet searp dpoee asrnt ohtaa tftfh eecst poypw earra ethia osnr. e,tbu drfnd ecdg, cwihe ibcbh hodnc mfyjc . Instructions: 1) When a Deck of 52 playing cards receives the Perfect Shuffle, it is divided (cut) into two equal stacks which are then shuffled together so that characters are stacked one at a time alternataing fram both halves of the original input text. 2) In this program with +Shuffle+ , the first card is still first after the shuffle and the last card remains the same also while all others are moved. 3) -Shuffle- can be used to reverse +Shuffle+. 4) The contents of the Input(top)Field are transformed as the results will be displayed in the Output(bottom) Field. 5) Multiple Shuffling is possible with results dependent of[on] the quantity of data. 6) Initial use of +Template+ causes a string to be generated to be added to the original text that codes the number of characters between spaces, a=1, b=2, c=3. etc. 7) Final use of -Template- after Reordering allows reconstitution of the original string with original spaces. 8) No sequential spaces nor more than two consectutive line feeds (each coded as qQ and the count reset by two other lower case letters) are retained. Edited by WTShaw, Feb 14 2014, 05:19 AM.
|
![]() |
|
| WTShaw | Feb 14 2014, 05:57 AM Post #52 |
|
Advanced Member
![]() ![]() ![]() ![]() ![]()
|
@mok-kong shen Back to the basic premise in general... In UP Ttranslations to a Higher base, given a particular Pt set and group length, Ct has a Bigger Set and and Fewer Characters per Group. In DOWN Translations, to a Lower Base the Ct has a Smaller Set and More Characters per Group. The numeric trade-offs compensate closely with a good-efficiency choice of setsized and groupsizes. Good efficiency means that (Ptsetsize to the power Pt groupsize) is equal to or slightly smaller than (Ctsetsize to the power of Ctgroupsize). Since the bulk of the programs utilize unusual Pt sets to compress many characters to a few, the simple route to do Cilibria, 27 to 47 is to use the elementary programs as I have used before, 27<->Digits and 47<->Digits, in which combined are PtBase27 and CtBase47. This time I'll use default scrambled sets and group sizes Pt7 and Ct6: <27> amkuteplhdvoncszb/rqixwjgyf <27> <47> ]k5=xgd?412-78isvbra39c[6,wqhu.zf0tpny`/j;elmo' <47> No unusual characters but just standard keyboard characters... I go through integer numbers as a convenience. Using BigEndian values: encrypt/these/letters 2116570747 6647904242 2785896599 12ps;?h'bd2g7dldvt It strikes me that I might combine these into a full LittleEndian Simplified Cilibria algorithm...for tests? |
![]() |
|
| novice | Feb 14 2014, 08:21 AM Post #53 |
|
Super member
![]() ![]() ![]() ![]() ![]() ![]()
|
I have tried this and I'm afraid I get no response, neither in Chrome nor Safari. If you posted the full javascript program for me to copy, I should then be able to check it with my anti-virus gear and if all is well then run it in my browser -- or alternatively try to find out what is stopping it. |
![]() |
|
| mok-kong shen | Feb 14 2014, 02:34 PM Post #54 |
|
NSA worthy
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
|
I suppose you hithertofore evidently haven't yet noticed an essential point concerning such numerical encoding schemes. To illustrate, just use the 27 character alphabet above "alone" and transform the 6 characters "aachen" (a German city name in all lower case) into number. What would you get as number? And what would you get back as characters from that number? (Surprise? I hope you get the point now.) Edited by mok-kong shen, Feb 14 2014, 02:55 PM.
|
![]() |
|
| WTShaw | Feb 15 2014, 08:05 AM Post #55 |
|
Advanced Member
![]() ![]() ![]() ![]() ![]()
|
You miss the point because the digits are never used as Ct when other bases are involved. The difficulty is in solving much of the different key alphabetic permutations when you haven't got a good clue as to what steps were taken, even less if you had no clue as to what and how many bases were involved. But, with this one you have some edge, maybe. Now, if you are to show how simple this particular algorithm combo is to solve, how much Ct do you need to work with? If serious, specify and we'll see if that is an adequate amount? I don't claim you can't do it but wonder what strength in involved. I provide only Ct. Consider your strategy... I'm not surprised as those who have already vetted these types of things were those that were taken off-guard. The shocker is that algorithms that appear simple in part are not defeated by the weak-link syndrome to be better applied to linear systems of which this is not one. 1) I did spend a few minutes and make the unified LittleEndian algorithm page. 2) Common to many of these algorithms is that default permutations can be scrambled s keyed indirectly rather than just be pasted in. You have yet to explore them. 3) Try to understand the character generators I sometimes use. Also, how a stream cipher can use Inclusion as a further simple but effective complicator. 4) You likely need to continue to check your python program until it works similar to mine. I put it up; you understand what makes it work; you prove you are right. My question remains, how much Ct does it take to do that. Ancient respected Greek thinkers tried to settle many things in theory that were later disproven when actual experimental evidence started to be collected. Please, try not to make that same mistake. |
![]() |
|
| mok-kong shen | Feb 15 2014, 08:53 PM Post #56 |
|
NSA worthy
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
|
@WTShaw: I don't capture your last post at all. Why did you raise questions like "how many bases are involved" and "how much Ct does one need to work with" etc. in the context of my questioning you in my last post whether you recognize or not a trouble spot in your processing scheme hithertofore. To put it in more clear-cut terms: You employed a 27 character alphabet that has the character "a" at the first position. If the plaintext starts with a word beginning with "a", then you would evidently get troubles, for that "a" would get a zero in the computation. Just try this: encrypt once "aachen" and once "chen" with that said alphabet. What numbers do you get? They would be the same!! Do you see my point clearly now?? If you have contradictions to my claim, then please tell exactly which (different) numbers do you get in the two cases! Note that I have verified with my code the result you posted last time. So this time you must get also what I get with the above two words. And anyway we could, if indeed necessary, do a detailed math computation for the numbers resulting from these two words! |
![]() |
|
| mok-kong shen | Feb 16 2014, 12:01 AM Post #57 |
|
NSA worthy
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
|
@WTShaw: In order to shorten as far as possible our debates, I have already done the math computations mentioned in my last post: Your alphabet, according to your Post#52, is: <27> amkuteplhdvoncszb/rqixwjgyf <27> So the coding for "aachen" goes as follows: The indices of the characters in the given alphabet are: "a" --> 0, "a" --> 0, "c" --> 13, "h" --> 8, "e" --> 5, "n" --> 12 with B denoting the base, here having the value 27, one obtains: "aachen" ---> 0*B^5 + 0*B^4 + 13*B^3 + 8*B^2 + 5*B + 12 = 0 + 0 + 255879 + 5832 + 135 + 12 = 261858 The coding for "chen" is similarly: "chen" ---> 13*B^3 + 8*B^2 + 5*B + 12 = 255879 + 5832 + 135 + 12 = 261858 Thus with the alphabet given by you, one has no means to differentiate from the numerically encoded numbers between the two cases "aachen" and "chen". Isn't the problem now very very clear for you?? ------------------------------------------------------------------------------------------------ For convenience of the general readers, below a verification of WTShaw's computation in his Post#52 of the coding for "encrypt", such that it is obvious that the computation method employed by him and by me is exactly the same: "e" --> 5, "n" --> 12, "c" --> 13, "r" --> 18, "y" --> 25, "p" --> 6, "t" --> 4 "encrypt" ---> 5*B^6 + 12*B^5 + 13*B^4 + 18*B^3 + 25*B^2 + 6*B + 4 = 1937102445 + 172186884 + 6908733 + 354294 + 18225 + 162 + 4 = 2116570747 |
![]() |
|
| WTShaw | Feb 16 2014, 02:02 AM Post #58 |
|
Advanced Member
![]() ![]() ![]() ![]() ![]()
|
I see your problem...the group sizes are all important, not just any length at all. If "a" is the zero character and 4 is the Pt group size, value zero = "aaaa" with no other characters. Normally if a group is partial filled, the space character with whatever numeric value it might have would fill the missing position. Formulas for base translation might include different sized group options but that would be an early selection. I like groups that are compatible with limited allowed integer sizes for study and not that bigger sizes are forbidden at all. Consider a clean Base Conversion between 27 and 81: group sizes are 4 and 3 because 27 and 81 are both powers of 3, the Conversion or Translation is 100% efficient. Since 3^3=27 and 3^4=81 in the ideal case that it is, just swap the exponents to get the group sizes so 27^4 = 81^3 = 3^7 = 243 for the maximum limiting value allowed for any Ct or Pt group. Sense any group can have a zero value, the limit with these basic equations is 242 = 243 - 1. Other good group size pairs are multiples 6 and 8, or 9 and 12... 27x81 LucknowUp4&8-Pome82..Bases:Pt27&Ct81...Groups:Pt4&Ct3[100%];Pt8&Ct6[100%] 81x27 LucknowDw3-Pome31...Pt Base 81(3 char) <100%> Ct Base 27(4 char) 81x27 LucknowDw6-Pome31...Pt Base 81(6 char) <100%> Ct Base 27(8 char) (The bottom pair of entries are both handled with the same program but they should be combined in one line and an error in finder name fixed) |
![]() |
|
| mok-kong shen | Feb 16 2014, 08:00 PM Post #59 |
|
NSA worthy
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
|
I don't consider it to be a grouping problem. For if the plaintext alphabet is specified to begin with "a", then the scheme simply can't work correctly with any plaintext whose first word begins with "a". In other words, such kind of alphabets are not be to employed in practice. It is clear then that an appropriate candidate for that first character of the (any) plaintext alphabet is naturally the space, since one commonly needs/has no leading spaces in a message. (Note that, excepting that constraint, the alphabet itself can be an arbitrary one.) If you had closely looked at my Python code, you would have seen that the solution of preventing users inadvertently employing an inacceptable plaintext alphabet is already there, namely my function checkplaintext(). I am going now to post version 1.1 of my code, which contains an extended examples section, at the location of my OP. Please take a look at it. (The title of the thread is now: NUMCODING .....) Edited by mok-kong shen, Feb 16 2014, 08:31 PM.
|
![]() |
|
| WTShaw | Feb 17 2014, 05:03 AM Post #60 |
|
Advanced Member
![]() ![]() ![]() ![]() ![]()
|
A permuted set of any characters can be any ordering of the elements, and that is what I allow. Surely things would be simpler if that was not the case, but that is the case. Any character in any set including one for a space can be in any position depending on the permutation involved. Using a simple version of Pt27 and Ct47, and with a default scrambling of the two alphabets in the new LittleEndian Version, these are the permutations: (Pt27) dyetkoxnmguavrpicwj/zflbshq (Pt27) (Ct47) c681b[2?4xv7zjkp0f]odyh.;`a3/9guer'i5t-qwslnm=, (Ct47) Note that "dye" characters in Pt27 are in positions "0, 1, 2." Dyed in the wool, it works. i54mt z?888 axz8` d82w, ka/r= .k;pr dyed in the wool j it works x With standard output in five-character groups, nothing to do with Pt or Ct groups, please note that not only do spaces make such a program more useful, but letter j,q,x for comma, question mark, and period add functionality. If digits occurred in Pt, they would simply be spelled out. Other tweaks are easy but with just this much, it's all useful. If the program can be written in javascript, it must be possible to have the same capability in python, or any other useful language, q.e.d. See what mods you can make to "make it so." "So it is written...so it must be done." A functional version at your end with the same Pt-Ct group sizes as before would be nice...Please keep at it, not always easy...Cheers. Edited by WTShaw, Feb 17 2014, 05:08 AM.
|
![]() |
|
| 1 user reading this topic (1 Guest and 0 Anonymous) | |
| Go to Next Page | |
| « Previous Topic · General · Next Topic » |





![]](http://z2.ifrm.com/static/1/pip_r.png)



7:27 PM Jul 11