CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Introduction au RCA.

hoffa
hoffa
Niveau 10
26 octobre 2007 à 20:01:19

Bonsoir tout le :globe:

C´est après deux semaines de travail que j´enfin finis la première version du langage codé inventé de moi et seulement de moi, le RCA. C´est un système de code qui utilise un algorythme très original (ce que je cherchais à faire). Ce n´est pas comme n´importe quel langage statique qui ne vaut rien.

Prenons comme exemple le ROT-13, ce langage simple, qui consiste à faire tourner de 13 places dans l´alphabet la lettre concerné. Si nous voulons écrire le mot "jeuxvideo" en ROT-13, nous trouverons "wrhkivqrb", et le mot restera toujours le même, même si j´écriveais "jeuxbideo" nous trouverons "wrhkovqrb" et on peut constater que rien ne change, seulement la valeur du lettre B. La lettre J restera toujours W, ou qu´il soit.

Le RCA n´utilise pas ce simple système, mais, comme je le disais avant, un algorythme original, différent des langages statiques. J´avoue que ce n´est pas encore du MD5, mais c´est après tout, un travail que j´ai fait seulement pour le plaisir.
Je vais vous faire un C/C direct du manuel du codage/décodage en RCA. (Cela sera peut être un peu déboité car la police n´est pas la même qu´écris sur le manuel)

--- DÉBUT RCA_Coding_Decoding_FR.txt ---

RCA Codage/Décodage Manuel
--------------------------
by Rehn Christoffer aka Hoffa

CODAGE EN RCA :
---------------

Variables utilisés :
--------------------

Char. Valeur en RCA

a = 1
b = 2
c = 3
d = 4
e = 5
f = 6
g = 7
h = 8
i = 9
j = 10
k = 11
l = 12
m = 13
n = 14
o = 15
p = 16
q = 17
r = 18
s = 19
t = 20
u = 21
v = 22
w = 23
x = 24
y = 25
z = 26

Codage :
--------

Dans cette partie, nous allons coder le mot EXAMPLE, biensûr en langage codé RSA.

Première chose à faire, est d´identifier le nombre de charactères dans le mot, dans ce cas-ci, la réponse est 7.

EXAMPLE
1234567

En RCA, il n´existe que deux variables pour définir le nombre de lettres d´un mot. Ces deux variables sont x et y :

x = Deux charactères
y = Un charactère

Comme on peut le voir, le mot constitue de plus de deux charactères, comment faire alors ?
C´est simple, faire une addition des variables, le plus simplement biensûr. Notre code jusqu´ici sera alors :

xxxy

x + x + x + y = 7
2 + 2 + 2 + 1 = 7

Maintenant il faut ajouter la première lettre du mot en Majuscules, cela sera utile plus tard pendant le codage (Biensûr, vous n´allez pas

chaque fois mettre un E, seulement si le mot commence par ce dernier):

xxxyE

Ce que vous devez retenir maintenant :

-"a" en valeur veut dire "La prochaine lettre sera après celui d´avant, dans l´alphabet"
-"b" en valeur veut dire "La prochaine lettre sera avant celui d´avant, dans l´alphabet"
-"r" en valeur veut dire "Répéter la lettre d´avant"

Maintent nous devons coder la lettre X en RCA. Pas besoin de vraiment "coder" la première lettre, car elle est déjà indiquée dans le code

(E). Ce que nous devons faire, est d´indiquer au code, le nombre de sauts fait, et dans quel sense. Pour nous cela serait "a19", car la

lettre X est 19 sauts après la lettre E. Notre code jusqu´a là :

xxxyEa19

La prochaine lettre est la lettre A. Pour l´écrire dans le code, il suffit seulement de regarder en combien de sauts on arrivé de la lettre A

à la lettre M, et d´indiquer dans quel sense (a ou b). Dans ce cas ci, "b23" :

xxxyEa19b23

La même manipulation sera faite pour chaque charactère. Après avoir codé toutes les lettres, vous devriez avoir le code suivant :

xxxyEa19b23a13a3b4b7

Le même syntaxe sera biensûr utilisé pour n´importe quel autre mot.
Vous vous demandez surement l´intérêt d´indiquer le nombre de lettres que contient le mot (dans ce cas xxxy), ce n´est qu´un simple moyen

pour vérifier si le mot trouvé est correcte,
en comparant le mot trouvé aux nombre de lettres.

DECODAGE RCA :
--------------

Pour décoder un code codé en RCA, il suffit d´analyser le code, et de faire la même manipulation que toute à l´heure. Le code que nous allons

décoder, est la suivante :

xxxyDa1b2a12b11a1b1

Analysons le code :
-------------------

Ce que nous allons faire maintenant, est de décoder chaque partie un par un, en supprimant la partie concerné dans le code fur et à mesure,

et de le noter, en notre langage. On peut tout de suite constater que le mot contient 7 lettres (les xxxy au début du code). On va les

supprimer du code RCA, et de noter cela :

Code actuel :
Da1b2a12b11a1b1

Code actuel décodé :
.......

On peut également voir que la première lettre du mot est D :

Code actuel :
a1b2a12b11a1b1

Code actuel décodé :
D......

La prochaine partie est a12, ce qui signifie que la prochaine lettre est à 12 sauts en avant dans l´aplhabet. Normalement vous arriverez sur

la lettre E :

Code actuel :
b2a12b11a1b1

Code actuel décodé :
DE.....

b2 est la prochaine partie, qui signifie que la prochaine lettre est à 2 sauts en arrière dans l´alphabet. Nous arrivons sur la lettre C :

Code actuel :
a12b11a1b1

Code actuel décodé :
DEC....

a12, 12 sauts en avant dans l´alphabet, nous trouvons un O :

Code actuel :
b11a1b1

Code actuel décodé :
DECO...

b11, 11 sauts en arrière dans l´alphabet, nous trouvons un D :

Code actuel :
a1b1

Code actuel décodé :
DECOD..

a1, 1 saut en avant dans l´alphabet, nous trouvons un E :

Code actuel :
b1

Code actuel décodé :
DECODE.

b1, 1 saut en arrière dans l´alphabet, nous trouvons un D :

Code actuel :
-

Code actuel décodé :
DECODED

Voilà le code enfin décodé. Faire la même manipulation pour chaque mot.

--- FIN RCA_Coding_Decoding_FR.txt ---

Je suis en train de travailler sur la prochaine version du langage, nommé RC2, qui saura coder des éspaces et des décimales.

J´aurais besoin de l´aide d´un codeur, pour coder un Codeur/Décodeur en RCA. Je pourrais le faire moi même en tapant quelques lignes en Python, mais comme je n´ai pas le temps pour l´instant, l´aide ne serais pas de refus. :ok:

Voilà, merci à tous ceux qui ont tout lu, et j´attends vos commentaires !

:bye:

neoeljin
neoeljin
Niveau 10
26 octobre 2007 à 20:04:02

Il n´y a pas assez de langages comme ça, il fallait que t´en crées un autre.

hoffa
hoffa
Niveau 10
26 octobre 2007 à 20:07:15

Je ne vois pas si ta commentaire est positive ou ironique.

neoeljin
neoeljin
Niveau 10
26 octobre 2007 à 20:09:40

Ni l´un ni l´autre. C´est bien beau de créer un langage mais il faudrait aussi qu´il ait un quelconque avantage par rapport aux autres langages existants.

hoffa
hoffa
Niveau 10
26 octobre 2007 à 20:13:31

Comme je le disais, tout ceci était fait pour le plaisir. Tout ce que je cherchais à faire c´était de trouver un algorythme original, différent des autres.

hoffa
hoffa
Niveau 10
26 octobre 2007 à 20:16:08

Qui sait à quoi il peut servir :) quand j´aurais fini la deuxième version, je vais essayer de remonter la sécurité du code, sans jamais dépasser la ligne rouge. Je ne cherche pas à faire un code de Ronald Rivest, mais un code situant entre les codes statiques et le MD.

BZHades
BZHades
Niveau 10
26 octobre 2007 à 20:20:08

hoffa
"Je ne vois pas si ta commentaire est positive ou ironique."

je dirais plutôt ironique ^_^ (et c´est UN commentaire, donc TON commentaire)

Bon, sinon, j´ai survolé vite fait ton message...
ton code est marrant, mais ne sert à rien (excuse moi d´être aussi brutal), la clef de codage est statique, il suffit de savoir que ton texte est codé en RCA pour savoir le décodé, donc celà n´a que peu d´interet (voir aucun en fait pour une application autre que pour s´amuser)

de deux, même si la clef devenait dynamique (possibilité de changer la manière de coder), il reste toujours le problème de la transmition de cette dernière, qui peut justement être sujet à espionnage (dans un cadre professionel).

Je ne saurais que te conseiller d´aller voir les algorithme déjà existant, notamment le DES qui est jugé comme incassable pour des clefs suffisament grandes genre le 512 bits (du moins, le temps pour casser le code est supérieur à la vie humaine)
ensuite, le RSA (Rivest Shamir Adleman, acronyme de ses inventeurs) qui permet de transmettre des informations sans qu´il ne puisse y avoir interception de la clef.
Actuellement, les logiciels de cryptage utilisent les deux, le RSA est théoriquement 100% sur (du moins jusqu´à ce qu´on trouve un moyen de trouver rapidement les facteurs premiers entre eux d´un nombre)mais est très lourd en calcul.
Le DES est sur, mais le problème est la transmition de la clef. On encode donc en DES le fichier/texte/message, puis on encode la clef en RSA, et on transmet le tout.

Pour faire un rapide résumé, le RSA par du principe qu´il est très difficile de retrouver les facteurs premier d´un nombre si ce dernier est grand. On va donc créer deux clef, une clef privée, composée de deux nombre premiers entre eux très grand, qui ne sera jamais transmise, et une clef publique, qui sera le résultat d´une opération de multiplication entre les deux nombres de la clef privé.
Cette clef publique est transmise à tout le monde.
Quand une personne veut Crypter un message pour Jean, il va récupérer la clef publique de Jean (accessible à tous) et encoder au moyen de cette clef publique. L´algorithme utilisé est de telle sorte qu´une fois encodé, on ne peut pas décodé avec la clef publique, mais seulement avec la clef privé, qui elle n´appartient qu´à Jean, donc seul Jean sera à même de décrypter le message, même si ce dernier est intercepté, il ne servira à rien.

hoffa
hoffa
Niveau 10
26 octobre 2007 à 20:27:02
  1. BZHades profil
  2. Posté le 26 octobre 2007 à 20:20:08 avertir modérateur
  3. hoffa

"Je ne vois pas si ta commentaire est positive ou ironique."

je dirais plutôt ironique ^_^ (et c´est UN commentaire, donc TON commentaire)

:d) Ah oui, mais ma langue maternelle n´est pas le francais. Je suis bel et bien un immigrant nordique aux yeux bleus, je suis Finlandais :)

Bon, sinon, j´ai survolé vite fait ton message...
ton code est marrant, mais ne sert à rien (excuse moi d´être aussi brutal), la clef de codage est statique, il suffit de savoir que ton texte est codé en RCA pour savoir le décodé, donc celà n´a que peu d´interet (voir aucun en fait pour une application autre que pour s´amuser)

:d) Je ne dirais pas que le code est statique. Je dirais plustôt semi-statique. Car dans ce codage, dans "jeuxvideo", la lettre x ne sera pas représenté de la même facon que le x dans "jeuxbideo", donc elle n´est pas complètement statique. :ok:

hoffa
hoffa
Niveau 10
26 octobre 2007 à 20:29:01

Quand je dis statique, je parle d´un code qui a comme devoir de donner à chaque charactère un variable, et écrire en representant la valeur du charactère.

BZHades
BZHades
Niveau 10
26 octobre 2007 à 20:35:53

certes, effectivement, un même caractère aura deux traductions différentes, mais j´entends par clef statique une impossibilité de modifier le texte codé :
jeuxvideo une fois codé sera toujours traduit pareil!
Un simple alphabet de substitution a une clef dynamique, selon quel lettre tu attribue à telle autre.

La clef, c´est la manière de crypter ton texte. Ici, elle est toujours la même, elle ne dépend d´aucune variable extérieure (comme un mot de passe par exemple), c´est donc un code statique.

j´éspère que tu as compris le principe.
Regarde un code un peu plus complexe comme le vigénère (code de substitution polyalphabétique) qui a besoin d´une clef, mais cette clef permet de modifier complètement la traduction du message.
pourtant, là encore, une même lettre dans le texte n´est pas forcément la même une fois codé.
http://fr.wikipedia.org/wiki/Chiffre_de_Vigenère

Pseudo supprimé
Pseudo supprimé 26 octobre 2007 à 21:03:48

Sachant que le vigenère se casse relativement facilement. Pour ton codage, il saute en quelques dixièmes de seconde avec une attaque de type force brute avec dictionnaire. Tu peux toujours t´en servir pour coder l´aheure du prochain goûter du clan des 7.

neoeljin
neoeljin
Niveau 10
26 octobre 2007 à 21:07:07

:rire:

BZHades
BZHades
Niveau 10
26 octobre 2007 à 21:07:51

hitman -> c´était pour montrer un exemple de code ou la même lettre à deux endroits différents n´est pas forcément codé pareillement, mais qui dépend d´une clef.

Je sais bien que le vigénère n´est pas sûr (encore que lorsque l´on utiliser une clef aléatoire de la longueur du texte, celà peut devenir hardu à décoder) mais c´était pour l´exemple.

Pseudo supprimé
Pseudo supprimé 26 octobre 2007 à 21:14:21

"encore que lorsque l´on utiliser une clef aléatoire de la longueur du texte, celà peut devenir hardu à décoder"

C´est le principe du masque XOR jetable, qui lui, est inviolable (Reste qu´il faut transmettre ce masque qui fait la longueur du message et ça, c´est un problème...).

BZHades
BZHades
Niveau 10
26 octobre 2007 à 21:26:36

d´ou le principe DES+RSA :) algorithme à clef rapide, complexe à décoder sans la clef, et echange de la clef plus lent, (mais comme la clef est théoriquement légère, c´est pas grave) mais sans risque d´interception. (enfin, je pense que tout le monde à compris)

7Zip
7Zip
Niveau 10
26 octobre 2007 à 21:28:19

J´allais alléguer à peu près la même chose que Hitman, j´ai récemment du me documenter sur le sujet. :)

BZHades
BZHades
Niveau 10
26 octobre 2007 à 21:32:41

wikipédia est bien fournie, sinon, je conseille largement le livre "histoire des codes secrets" de Simon Singh
http://www.amazon.fr/Histoire-codes-secrets-Simon-Singh/dp/2253150975

un très bon livre pour s´initier, sous forme de roman, il passe en revue les codes secrets depuis l´antiquité (grec, chiffre de Cesar ) aux moyens moderne (DES, RSA) en passant par Enigma, Vigénère et autres cryptographie militaire.

7Zip
7Zip
Niveau 10
26 octobre 2007 à 21:34:11

J´ai lu un extrait du bouquin dont tu parles. :)

hoffa
hoffa
Niveau 10
26 octobre 2007 à 21:37:26

J´ai jamais dit que j´utiliserai ce codage dans un cadre professionel. L´avantage ? J´en sais rien. L´avantage du ROT13 ou du Sytème de César ? J´en sais rien.

En tout cas, le mien est plus sur que ces derniers.

clyko
clyko
Niveau 10
26 octobre 2007 à 21:39:23

"En tout cas, le mien est plus sur que ces derniers."
Le seul problème, c´est qu´on est plus à l´Antiquité.

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Programmation
  • Création de sites web
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment