$rc4(texte,clé) < encryption rc4

Soyez le premier à donner votre avis sur cette source.

Snippet vu 6 334 fois - Téléchargée 25 fois

Contenu du snippet

Tout est plus bas :) le code n'est pas commenté car il me reste des zones d'ombre sur le fonctionnement ( je n'ai fait que convertir le RFC )

Source / Exemple :


; ca permet de coder décoder en RC4, le code est lent, très lent !
; ne me demandez pas d'explications, je me suis juste contenté
; d'adapter l'algo pour mIRC... Par contre je vous préviens, l'algo
; est lent, très lent sur mIRC, a vous de voir ce que vous pouvez
; faire pour l'arranger :D

; Description:
;   Il a été dévellopé par Ron Rivest pour RSA en 1987, l'algo est
;   longtemps resté secret, le cryptage ne dépend pas du texte mais
;   seulement de la clé

; Caracteristiques:
;   * Environ 1000 milliards de clés différentes
;   * Si on test 1 millions de clés par secondes, il faudrait environ
;   13 jours pour décrypter l'algo
;   * Avec 1000 machines en réseau, environ 20 minutes...
;   * Faiblesses de sécurité si la clé fait moins de 40 bytes
;   * Très utilisé dans le protocol SSL en raison de son efficacité

; Utilisation:
;     $rc4(texte,clé)
;     $rc4(texte_crypté,clé)

alias rc4 {
  if (!$2) halt
  if ($hget(rc4)) hfree rc4
  if ($hget(rc4arr)) hfree rc4arr
  hmake rc4 255
  hmake rc4arr 255
  if (!$2) halt
  var %a = $len($2)
  var %i = 0
  while ( %i <= 255 ) {
    hadd rc4arr %i %i
    hadd rc4 %i $asc($mid($2,$calc($calc(%i % %a) + 1),1))
    inc %i
  }
  var %i = 0
  var %j = 0
  while ( %i <= 255 ) {
    var %k = $calc($calc(%k + $hget(rc4arr,%i) + $hget(rc4,%i)) % 256)
    var %m = $hget(rc4arr,%i)
    hadd rc4arr %i $hget(rc4arr,%k)
    hadd rc4arr %k %m
    inc %i
  }
  var %i = 0
  var %k = 0
  var %b = 1
  while ( %b <= $len($1) ) {
    var %i = $calc($calc(%i + 1) % 256)
    var %k = $calc($calc(%k + $hget(rc4arr,%i)) % 256)
    var %t = $calc($calc($hget(rc4arr,%i) + $hget(rc4arr,%k)) % 256)
    var %n = $hget(rc4arr,%i)
    hadd rc4arr %i $hget(rc4arr,%k)
    hadd rc4arr %k %n
    var %y = $hget(rc4arr,%t)
    var %rc4 = %rc4 $+ $replace($chr($xor($asc($mid($1,%b,1)),%y)),$chr(32),$chr(10))
    inc %b
  }
  return $replace(%rc4,$chr(10),$chr(32))
  hfree rc4
  hfree rc4arr
}

A voir également

Ajouter un commentaire

Commentaires

nirvano7
Messages postés
1
Date d'inscription
lundi 9 avril 2007
Statut
Membre
Dernière intervention
16 janvier 2008
-
je veux savoir comment execut ce truc que et vraimnet formidable merci d'avance
sayak187
Messages postés
1
Date d'inscription
dimanche 21 novembre 2004
Statut
Membre
Dernière intervention
4 décembre 2004
-
a voir les commentaires sa doit etre pas mal mais comment sa fonctionne?
Kerrigan
Messages postés
708
Date d'inscription
lundi 15 juillet 2002
Statut
Membre
Dernière intervention
17 mars 2005
-
pinaise !!!! c'est vraiment du beau travail, faut avoir des actions chez madame aspirine pour faire des codes pareils !!! mais c'est impressionant .
BombStrike
Messages postés
23
Date d'inscription
lundi 1 juillet 2002
Statut
Membre
Dernière intervention
27 juin 2004
-
cet algo est celui utilsé dans les système SSL ( Haute sécurité ), c'est donc un cryptage très dur a decrypter...
cs_SornDrixer
Messages postés
2087
Date d'inscription
jeudi 12 décembre 2002
Statut
Modérateur
Dernière intervention
30 janvier 2011
2 -
DjDge > L'algorithme sert un peu comme $encode(message,cle) et $decode(message,cle) sauf cette algo est plus complexe que celui que mIRC nous fournit voila.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.