06-06-2006, 09:24 PM
hello,
I'm quite new here and i saw that there are quite some good alogarithms for encryption/decryption...
the case is, i've made my own alogarithm in which you can enter all possible ascii characters as the cleartext,and also as the keyword...
the output cipher text is in upper case alphabetic characters, which mean, it even harder to decrypt.... try some examples:
output screen:
ENTER WORD: ? the quick brown fox jumps over the lazy dog
ENTER KEY : ? letters
KEY CODE :
letterslettersletterslettersletterslettersl
PLAIN TEXT :
the quick brown fox jumps over the lazy dog
CIPHER TEXT :
CJVESJYLMESTDMWPWFZCZDOGJPDLNTEKJTDUCQPPSEP
and another one
output screen:
ENTER WORD: ? THQUICKBROWNFOXJUMPSOVERTHELAZYDOG!@#$%^&*()
ENTER KEY : ? ALPHA!@#$%^&*()
KEY CODE :
ALPHA!@#$%^&*()ALPHA!@#$%^&*()ALPHA!@#$%^&*(
PLAIN TEXT :
THQUICKBROWNFOXJUMPSOVERTHELAZYDOG!@#$%^&*()
CIPHER TEXT :
FERNUIVJAYLYUBLVRNIEUGMADWPANNKAPZGFHFHNOOQP
as you could notice, the output, whatever the input is always in the alphabet charaters only, even if your input and/or keyword is/ containing special characters
if you dont mind(i'm addressing this to the reade)
it's quite easy to understand the source code for the program
CLS
LOCATE 1, 1
INPUT "ENTER WORD: "; WORD$
INPUT "ENTER KEY : "; KEY$
KCOUNT = 0
ALPHABET$ = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
FOR X = 1 TO LEN(WORD$)
KCOUNT = KCOUNT + 1
IF KCOUNT > LEN(KEY$) THEN KCOUNT = 1
KKEY% = ASC(MID$(KEY$, KCOUNT, 1)) - 64
CHAR% = ASC(MID$(WORD$, X, 1)) - 64
ASCNUM = CHAR% + KKEY% + 63
COUT = 0
CASCNUM = 0
DO WHILE CASCNUM < ASCNUM
CASCNUM = CASCNUM + 1
COUT = COUT + 1
IF COUT > 26 THEN COUT = 1
GOODCHAR$ = MID$(ALPHABET$, COUT, 1)
FOR DELAY = 1 TO 1000: NEXT DELAY
LOOP
KKEY$ = CHR$(KKEY% + 64)
KKEY$ = KKEY$ + OLKKEY$
CHAR$ = CHR$(CHAR% + 64)
CHAR$ = CHAR$ + OCHAR$
GOODCHAR$ = GOODCHAR$ + OLCHAR$
OLCHAR$ = GOODCHAR$
OLKKEY$ = KKEY$
OCHAR$ = CHAR$
LOCATE 5, 1: PRINT SPACE$(LEN(WORD$))
LOCATE 9, 1: PRINT SPACE$(LEN(WORD$))
LOCATE 13, 1: PRINT SPACE$(LEN(WORD$))
LOCATE 4, 1
PRINT "KEY CODE :"
'LOCATE 5, REV
PRINT KKEY$
LOCATE 8, 1
PRINT "PLAIN TEXT :"
'LOCATE 9, REV
PRINT CHAR$
LOCATE 12, 1
PRINT "CIPHER TEXT :"
'LOCATE 13, REV
PRINT GOODCHAR$
NEXT X
SLEEP
KEYCODE$ = KKEY$
PLAINTEXT$ = CHAR$
CIPHERTEXT$ = GOODCHAR$
TXTL = LEN(WORD$)
REV = 0
TREV = TXTL + 1
DO WHILE REV < TXTL
FOR DELAY = 1 TO 109999: NEXT DELAY
REV = REV + 1
TREV = TREV - 1
KC% = ASC(MID$(KEYCODE$, TREV, 1))
PC% = ASC(MID$(PLAINTEXT$, TREV, 1))
CIPC% = ASC(MID$(CIPHERTEXT$, TREV, 1))
KCHAR$ = CHR$(KC%)
PCHAR$ = CHR$(PC%)
CIPCHAR$ = CHR$(CIPC%)
LOCATE 4, 1
PRINT "KEY CODE :"
LOCATE 5, REV
PRINT KCHAR$
LOCATE 8, 1
PRINT "PLAIN TEXT :"
LOCATE 9, REV
PRINT PCHAR$
LOCATE 12, 1
PRINT "CIPHER TEXT :"
LOCATE 13, REV
PRINT CIPCHAR$
LOOP
SLEEP
if someone knows how, tell me.... i have still plenty of adjustments to be done to this thing.... thanks....
I'm quite new here and i saw that there are quite some good alogarithms for encryption/decryption...
the case is, i've made my own alogarithm in which you can enter all possible ascii characters as the cleartext,and also as the keyword...
the output cipher text is in upper case alphabetic characters, which mean, it even harder to decrypt.... try some examples:
output screen:
ENTER WORD: ? the quick brown fox jumps over the lazy dog
ENTER KEY : ? letters
KEY CODE :
letterslettersletterslettersletterslettersl
PLAIN TEXT :
the quick brown fox jumps over the lazy dog
CIPHER TEXT :
CJVESJYLMESTDMWPWFZCZDOGJPDLNTEKJTDUCQPPSEP
and another one
output screen:
ENTER WORD: ? THQUICKBROWNFOXJUMPSOVERTHELAZYDOG!@#$%^&*()
ENTER KEY : ? ALPHA!@#$%^&*()
KEY CODE :
ALPHA!@#$%^&*()ALPHA!@#$%^&*()ALPHA!@#$%^&*(
PLAIN TEXT :
THQUICKBROWNFOXJUMPSOVERTHELAZYDOG!@#$%^&*()
CIPHER TEXT :
FERNUIVJAYLYUBLVRNIEUGMADWPANNKAPZGFHFHNOOQP
as you could notice, the output, whatever the input is always in the alphabet charaters only, even if your input and/or keyword is/ containing special characters
if you dont mind(i'm addressing this to the reade)
it's quite easy to understand the source code for the program
CLS
LOCATE 1, 1
INPUT "ENTER WORD: "; WORD$
INPUT "ENTER KEY : "; KEY$
KCOUNT = 0
ALPHABET$ = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
FOR X = 1 TO LEN(WORD$)
KCOUNT = KCOUNT + 1
IF KCOUNT > LEN(KEY$) THEN KCOUNT = 1
KKEY% = ASC(MID$(KEY$, KCOUNT, 1)) - 64
CHAR% = ASC(MID$(WORD$, X, 1)) - 64
ASCNUM = CHAR% + KKEY% + 63
COUT = 0
CASCNUM = 0
DO WHILE CASCNUM < ASCNUM
CASCNUM = CASCNUM + 1
COUT = COUT + 1
IF COUT > 26 THEN COUT = 1
GOODCHAR$ = MID$(ALPHABET$, COUT, 1)
FOR DELAY = 1 TO 1000: NEXT DELAY
LOOP
KKEY$ = CHR$(KKEY% + 64)
KKEY$ = KKEY$ + OLKKEY$
CHAR$ = CHR$(CHAR% + 64)
CHAR$ = CHAR$ + OCHAR$
GOODCHAR$ = GOODCHAR$ + OLCHAR$
OLCHAR$ = GOODCHAR$
OLKKEY$ = KKEY$
OCHAR$ = CHAR$
LOCATE 5, 1: PRINT SPACE$(LEN(WORD$))
LOCATE 9, 1: PRINT SPACE$(LEN(WORD$))
LOCATE 13, 1: PRINT SPACE$(LEN(WORD$))
LOCATE 4, 1
PRINT "KEY CODE :"
'LOCATE 5, REV
PRINT KKEY$
LOCATE 8, 1
PRINT "PLAIN TEXT :"
'LOCATE 9, REV
PRINT CHAR$
LOCATE 12, 1
PRINT "CIPHER TEXT :"
'LOCATE 13, REV
PRINT GOODCHAR$
NEXT X
SLEEP
KEYCODE$ = KKEY$
PLAINTEXT$ = CHAR$
CIPHERTEXT$ = GOODCHAR$
TXTL = LEN(WORD$)
REV = 0
TREV = TXTL + 1
DO WHILE REV < TXTL
FOR DELAY = 1 TO 109999: NEXT DELAY
REV = REV + 1
TREV = TREV - 1
KC% = ASC(MID$(KEYCODE$, TREV, 1))
PC% = ASC(MID$(PLAINTEXT$, TREV, 1))
CIPC% = ASC(MID$(CIPHERTEXT$, TREV, 1))
KCHAR$ = CHR$(KC%)
PCHAR$ = CHR$(PC%)
CIPCHAR$ = CHR$(CIPC%)
LOCATE 4, 1
PRINT "KEY CODE :"
LOCATE 5, REV
PRINT KCHAR$
LOCATE 8, 1
PRINT "PLAIN TEXT :"
LOCATE 9, REV
PRINT PCHAR$
LOCATE 12, 1
PRINT "CIPHER TEXT :"
LOCATE 13, REV
PRINT CIPCHAR$
LOOP
SLEEP
if someone knows how, tell me.... i have still plenty of adjustments to be done to this thing.... thanks....