Archief - [CODING][JAVA] uittesten encryptie

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

etl_mx

Legacy Member
Hallo allemaal,

Ik heb vandaag mijn encryptie systeem af ( dat ook perfect kan decrypteren ) en ik wilde eens weten hoe goed mijn methode is.

Dus wilde ik hier eens vragen of er iemand een site weet waar mensen dit met plezier eens willen proberen. Of als er hier iemand is die dit eens wil doen.

De methode is echt niet moeilijk, maar het kan misschien wel een uitdaging zijn.

Voor de moedigen hier:
Tips:
Het werkt met een sleutel.
Het zijn 6 woorden ( normale woorden vb. dit is een test )

TTWXXX^[}TTWXXX^\<TTWXXX^\JTTWXXX^\HTTWXXX^\?TTWXXX^\ITTWXXX^[YTTWXXX^\0TTWXXX^\ATTWXXX^\GTTWXXX^\ATTWXXX^\CTTWXXX^\CTTWXXX^\OTTWXXX^\PTTWXXX^\NTTWXXX^\KTTWXXX^[dTTWXXX^\QTTWXXX^\\TTWXXX^[gTTWXXX^\TTTWXXX^\ZTTWXXX^[jTTWXXX^\bTTWXXX^\WTTWXXX^\UTTWXXX^[nTTWXXX^\ZTTWXXX^\bTTWXXX^\iTTWXXX^\hTTWXXX^\[

KeaTs

Legacy Member
"het werkt met een sleutel" is nogal vaag. Bedoelt ge een eenvoudige substitution cypher, of een algoritme waar we het raden naar hebben met een sleutel als input ( wat zowa alles kan zijn? :) )

etl_mx

Legacy Member
werk niet echt met een algoritme, alles is zo zelf uitgevonde, dus zal wel eenvoudige substitution cypher zijn.

De sleutel is een waarde. Met die waarde kan je je characters terug vinden.

Kemblin

Legacy Member
volgens mij vrij onmogelijk om zo te vinden, wat is btw het nut van telkens TTWXXX^ overal tussen te zetten, dat valt wel vrij snel op. Als uw key even lang is als uw message valt hier al zeker niks uit te halen.

volgens mij moet je altijd of key of unencrypted message hebben, of je moet zelf messages kunnen laten encrypten en naar eventuele herhalingen zoeken om zo de key te kunnen achterhalen.

http://en.wikipedia.org/wiki/Vigenère_cipher

KeaTs

Legacy Member
ja, dé manier om een substitution cypher te decrypteren is een relatief grote text geencrypteerd te onderzoeken op herhalingen van bepaalde letters, of in uw geval, waar woorden duidelijk hun lengte behouden [ uw '[' delimiters zijn gewoon zichtbaar ], de woorden zelf te herkennen dmv lengte etc. Maar als jij een set ad hoc regeltjes gemaakt hebt, bijvoorbeeld de positie van een character in de string gebruiken om volgens een bepaalde formule te springen in uw sleutel, dan is decrypteren met 6 woorden als input nogal moeilijk denk ik.

Als het een gewone substitutie is met een rechtstreekse 1->1 mapping, dan is brute forcen relatief eenvoudig ( generator schrijven, laten lopen tot er verschillende echte woorden in voorkomen ), maar voor alle ad hoc regeltjes die je toevoegt moet de brute forcer ook dingen proberen ( permutaties etc ), en verhoogt de tijd nodig om te kraken aanzienlijk.

Als je woordlengte idd behouden blijft zou je hier bijvoorbeeld kunnen de 2 drieletterwoorden gaan gebruiken om substitutie + wat ad hoc regels te op uit te proberen en te matchen aan de bestaande nederlandse 3 letter woorden, dat zou vrij snel gaan denk ik. Iemand die al wat speciale software geschreven heeft voor dergelijke dingen ( echte crackers etc ), zou t mss wel snel kunnen kraken. Moest ik wat meer tijd hebben, k zou t ook es proberen =]

etl_mx

Legacy Member
De woordlengte is hetzelfde. ( kan misschien hier mijn encryptie nog op verbeteren )
Maar je moet nog iets weten.
Als je zegt '[' is 'I' en je neemt dit voor heel de tekst, dan ga je er niet geraken.

vb. een boom
encrypteerd zou zijn: 1dN As41
Alles letters/cijfers zijn een andere betekenis
en daarom heb je die TTWXXX^ en al nodig. Ze staan er niet voor niets :)

Ik wil hier natuurlijk niet het beste encryptie systeem hebben, wilde gewoon eens weten hoe snel het gekraakt zou worden.

TTWXXX^: Is niet de key, het helpt, net zoals je key ( die in je achterhoofd zit ) om de positie terug te vinden

KeaTs

Legacy Member
bij elke letter staat exact TTWXXX^ ... hoe kan dat u meer informatie geven? :)

etl_mx

Legacy Member
Dat is 1 stap van het decrypteren, dat stelt een numerieke waarde voor, maar hier zit er misschien een klein beetje wiskunde achter :)

killgore

Legacy Member
En het nut is?

Er bestaan zeer goed uitgedachte encryptiesystemen die in de meeste moderne talen (java ook) rechtstreeks zitten ingebouwd. Uw eigen encryptiesysteem maken is vrij veel tijdsverlies meestal :p.

etl_mx

Legacy Member
Ja, weet ik ook dat er vele betere systemen zijn. Maar je zult het beter snappen als je zelf eens een systeem maakt.

Tijdsverlies, ja en nee. Ik programmeer graag, ik zal dit wel ooit nog keer kunne gebruike, maar het is idd niet optimaal.

killgore

Legacy Member
voor veel dingen ga ik daarmee akkoord van zelf maken = beter begrijpen, maar voor zaken als encryptie gaat dit echt niet op imho :p.

Simpelweg omdat het niet echt software concepten zijn.

Kemblin

Legacy Member
etl_mx zei:
De woordlengte is hetzelfde. ( kan misschien hier mijn encryptie nog op verbeteren )
Maar je moet nog iets weten.
Als je zegt '[' is 'I' en je neemt dit voor heel de tekst, dan ga je er niet geraken.

vb. een boom
encrypteerd zou zijn: 1dN As41
Alles letters/cijfers zijn een andere betekenis
en daarom heb je die TTWXXX^ en al nodig. Ze staan er niet voor niets :)

Ik wil hier natuurlijk niet het beste encryptie systeem hebben, wilde gewoon eens weten hoe snel het gekraakt zou worden.

TTWXXX^: Is niet de key, het helpt, net zoals je key ( die in je achterhoofd zit ) om de positie terug te vinden


die TTWXXX^ heb je echt voor niks nodig normaal gezien.
Die [ delimiter gebruik je volges mij om spaties te verdoezelen, maar voor de rest is heel dat
TTWXXX^\ en TTWXXX^[ gebeuren overbodig.

ik wil wel eens de encryptie zien van deze string aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa (langer dan de key)

etl_mx

Legacy Member
key is 9 letters
origineel: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
encrypted: TTWXXX^\7TTWXXX^\8TTWXXX^\9TTWXXX^\:TTWXXX^\;TTWXXX^\<TTWXXX^\=TTWXXX^\>TTWXXX^\?TTWXXX^\@TTWXXX^\ATTWXXX^\BTTWXXX^\CTTWXXX^\DTTWXXX^\ETTWXXX^\FTTWXXX^\GTTWXXX^\HTTWXXX^\ITTWXXX^\JTTWXXX^\KTTWXXX^\LTTWXXX^\MTTWXXX^\NTTWXXX^\OTTWXXX^\PTTWXXX^\QTTWXXX^\RTTWXXX^\STTWXXX^\TTTWXXX^\UTTWXXX^\VTTWXXX^\WTTWXXX^\XTTWXXX^\YTTWXXX^\ZTTWXXX^\[TTWXXX^\\TTWXXX^\]TTWXXX^\^TTWXXX^\_TTWXXX^\`TTWXXX^\aTTWXXX^\bTTWXXX^\cTTWXXX^\dTTWXXX^\eTTWXXX^\fTTWXXX^\gTTWXXX^\h

je ziet hier nu al duidelijk iets :p

heb zelfde key gebruikt als in mijn eerste bericht

etl_mx

Legacy Member
killgore zei:
voor veel dingen ga ik daarmee akkoord van zelf maken = beter begrijpen, maar voor zaken als encryptie gaat dit echt niet op imho :p.

Simpelweg omdat het niet echt software concepten zijn.

Bij mij gaat het over de vorm van denken. Natuurlijk die geavanceerde encrypties, dat zal moeiljk gaan.

Krueger

Legacy Member
etl_mx zei:
key is 9 letters
origineel: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
encrypted: TTWXXX^\7TTWXXX^\8TTWXXX^\9TTWXXX^\:TTWXXX^\;TTWXXX^\<TTWXXX^\=TTWXXX^\>TTWXXX^\?TTWXXX^\@TTWXXX^\ATTWXXX^\BTTWXXX^\CTTWXXX^\DTTWXXX^\ETTWXXX^\FTTWXXX^\GTTWXXX^\HTTWXXX^\ITTWXXX^\JTTWXXX^\KTTWXXX^\LTTWXXX^\MTTWXXX^\NTTWXXX^\OTTWXXX^\PTTWXXX^\QTTWXXX^\RTTWXXX^\STTWXXX^\TTTWXXX^\UTTWXXX^\VTTWXXX^\WTTWXXX^\XTTWXXX^\YTTWXXX^\ZTTWXXX^\[TTWXXX^\\TTWXXX^\]TTWXXX^\^TTWXXX^\_TTWXXX^\`TTWXXX^\aTTWXXX^\bTTWXXX^\cTTWXXX^\dTTWXXX^\eTTWXXX^\fTTWXXX^\gTTWXXX^\h

je ziet hier nu al duidelijk iets :p

heb zelfde key gebruikt als in mijn eerste bericht
Zoveel zie je daar natuurlijk niet aan. Het enige wat je hier doet, is starten vanaf de ascii waarde van '7' , en zo tel je er altijd eentje meer op.

etl_mx

Legacy Member
Ik zou ook meer dan 1 kunnen bijtellen, heb het eigenlijk nog simpel gdaan :)

heb eens een key van 5 letters genomen op die aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
UV]RUV]SUV]TUV]UUV]VUV]WUV]XUV]YUV]ZUV][UV]\UV]]UV]^UV]_UV]`UV]aUV]bUV]cUV]dUV]eUV]fUV]gUV]hUV]iUV]jUV]kUV]lUV]mUV]nUV]oUV]pUV]qUV]rUV]sUV]tUV]uUV]vUV]wUV]xUV]yUV]zUV]{UV]|UV]}UV^!UV^"UV^#UV^$UV^%UV^&

rabsi

Legacy Member
etl_mx zei:
werk niet echt met een algoritme, alles is zo zelf uitgevonde, dus zal wel eenvoudige substitution cypher zijn.

De sleutel is een waarde. Met die waarde kan je je characters terug vinden.

Wat ook leuk is een bepaalde afbeelding,... als key gebruiken
Maar zolang u Key niet groter of gelijk is dan u bestand valt het te ontcijferen als het een eenvoudige substitution cypher is...

etl_mx

Legacy Member
Rabsi, het is geen uber moeilijk methode ze :), Ik zeg enkel dat je er tijd zult moeten insteken en als je mijn methode ziet, dan zal je het onmiddelijk hebben.

Maar ik heb in de laatste dagen nog wat bezig geweest om de woordlengte aan te passen voor dat ik begin te encrypte. Is me ook gelukt, en volgens mij zal je zonder programma dit niet kunnen oplossen.

[BAT] Hydra

Legacy Member
etl_mx zei:
Rabsi, het is geen uber moeilijk methode ze :), Ik zeg enkel dat je er tijd zult moeten insteken en als je mijn methode ziet, dan zal je het onmiddelijk hebben.

Maar ik heb in de laatste dagen nog wat bezig geweest om de woordlengte aan te passen voor dat ik begin te encrypte. Is me ook gelukt, en volgens mij zal je zonder programma dit niet kunnen oplossen.

Een van de principes die professionele cryptografen hanteren is "Kerchhoff's principle". Dat zegt eigenlijk dat je veiligheid nooit gebaseerd mag zijn op het geheimhouden van het algoritme. Als je je algoritme ooit gaat gebruiken in software dan kunnen aanvallers door decompilatie of re-engineering je algoritme toch te weten komen... (Zie ook http://en.wikipedia.org/wiki/Kerckhoffs'_principle)

Dus eigenlijk zou je ons je algoritme moeten vertellen. De veiligheid moet volledig kunnen berusten op het geheimhouden van de sleutel.

Edit: Als je verder wilt gaan met het ontwikkelen van een goed symmetrisch encryptiealgoritme moet je zeker eens kijken naar een "Feistel Cipher". (http://en.wikipedia.org/wiki/Feistel_cipher) Dit heel eenvoudige concept wordt (eventueel lichtjes aangepast) gebruikt als basis voor vele van swerelds beste symmetrische cryptografische algoritmen!
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan