Kryptographischer Algorithmus



  • Hallo,

    Ich habe einen kryptograpischen Algorithmus entwickelt und würde ihn zu Testzwecken und auch generell gerne implementieren. Ich hoffe ich bin im richtigen Unterforum, da ich auch gern eine GUI hätte um das Testen komfortabler zu machen.
    Ich hoffe ihr könnt mir helfen, da ich zwar C beherrsche und ein bisschen C++ aber ich glaube, dass ich bei so etwas heiklem wie einem kryptographischen Algorithmus die (natürlich auch bezahlte) Hilfe von Profis brauche.

    Der Algorithmus ist im Grunde genommen einfach (im Verhältnis zu anderen).

    Was zu tun wäre:

    Ein 128 bit plaintext soll aus einer Datei eingelesen werden,eine S-Box (die von AES)soll initialisiert werden, der der Plaintext übergeben wird,dann soll der Block um eine bestimmte Zahl bitverschoben werden ("bitshift") nach rechts oder links.
    Diese Zahl wird durch den Schlüssel modulo 128 ermittelt.
    Durch das letzte Bit des Schlüssels wird bei 0 nach rechts, bei 1 nach links verschoben.
    Der Plaintext wird in 16 Teile a 8 bit zerlegt.
    Jede Positionsnummer (in bit) wird mit md5 gehashed und modulo 16 genommen bei der die Anfangswerte der Hashfunktion die Standardwerte der Hashfunktion ersetzt.
    Hierbei wird bei allen Nummern geschaut ob sie bereits besetzt sind um Kollissionen zu vermeiden.
    Falls eine Position bereits besetzt ist läuft der Algortithmus weiter bis alle Positionen besetzt sind.
    Durch dieses Verfahren wird jedem 8 bit Block eines der 16 Plätze zugewiesen.
    Danach soll der Block wieder zusammengesetzt werden und mit dem Schlüssel gexored werden.
    Beim zweiten Durchgang sollen alle Teile der S-Box gehashed werden(16x16byte strings).

    Dann soll der Schlüssel eine keyshedule durchlaufen, bei der Schlüssel mit md5 gehashed werden wobei der Schlüssel die Anfangswerte der Hashfunktion ersetzt.

    Das Ganze soll mindestens zehn Mal wiederholt werden (der Algorithmus als Ganzes).

    Dann soll der nächste 128 bit Block eingelesen werden etc.

    Der letzte soll mit Nullen gepadded werden.

    Die Rundenanzahl soll vom User variabel gewählt werden können.

    Das Ganze soll auch umkehrbahr sein.

    Ich hoffe ihr könnt mir helfen.

    Liebe Grüsse



  • Ich kann deine Frage in deinem Post nicht finden. Wissenschon, die Dinger mit den Fragezeichen am Ende.



  • Am Liebsten wäre es mir wenn mir jemand das coded und ich bezahle ihn. Jetzt fällt mir gerade auf, dass das eher ins Forum Projekte gehört. Ich bitte um Entschuldigung vielleicht kann man es ja dorthin verschieben, danke.



  • Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C (alle ISO-Standards) in das Forum Projekte verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Danke für die Verschiebung.



  • Moba schrieb:

    Am Liebsten wäre es mir wenn mir jemand das coded und ich bezahle ihn.

    Das ist ja doof. Dabei lernst du doch nichts. Und das Erfolgserlebnis, sowas selbst gecodet zu haben, entgeht dir auch. 😞



  • Warum nutzt du nicht
    https://www.cryptopp.com/?



  • Hat das etwas mit diesem Post zu tun?
    https://www.c-plusplus.net/forum/p2524387#2524387

    Andromeda schrieb:

    256 Bit!!
    Mehr ist physikalisch nicht möglich!!!
    https://www.schneier.com/ ....... 6/06/the_doghouse_kr.html

    Bist du Detlef Granzow?

    Wie dem auch sei.
    Ich programmier dir das für 2 Bitcoins.


Log in to reply