Thesis Slides

47
Introducci´ on odigos Lineales Decodificaci´ on Sistema Criptogr´ afico McEliece/Niederreiter Referencias Mini-curso: C´odigos Correctores de Error Juan Grados Laborat´orioNacionaldeComputa¸c˜ ao Cient´ ıfica. 4 de mayo de 2012 Laborat´ orio Nacional de Computa¸ ao Cient´ ıfica

description

tesis

Transcript of Thesis Slides

  • IntroduccionCodigos Lineales

    DecodificacionSistema Criptografico McEliece/Niederreiter

    Referencias

    Mini-curso: Codigos Correctores de Error

    Juan Grados

    Laboratorio Nacional de Computacao Cientfica.

    4 de mayo de 2012

    Laboratorio Nacional de Computacao Cientfica

  • IntroduccionCodigos Lineales

    DecodificacionSistema Criptografico McEliece/Niederreiter

    Referencias

    Tabla de contenido

    1 Introduccion

    2 Codigos LinealesConstruccion y Decodificacion Codigos LinealesCodigos de GoppaCodigo de Goppa Binario

    3 DecodificacionAlgoritmo de Decodificacion

    4 Sistema Criptografico McEliece/NiederreiterAtaques

    Laboratorio Nacional de Computacao Cientfica

  • IntroduccionCodigos Lineales

    DecodificacionSistema Criptografico McEliece/Niederreiter

    Referencias

    Criptografa de Llave Publica

    Figura 1: Criptografa de Llave Publica.

    Laboratorio Nacional de Computacao Cientfica

  • IntroduccionCodigos Lineales

    DecodificacionSistema Criptografico McEliece/Niederreiter

    Referencias

    Post-Quantum Cryptography

    - Seguridad amenazada, por el algoritmo cuantico (P. Shor (1994)).

    - Segun Post-Quantum Cryptography, de D. Bernstein et. Al.

    Clasicos

    RSA;

    Basados en curvas elpticas, etc.

    Pos-cuanticos

    Basados en reticulados: NTRU, CRTU;

    Basados en codigos: McEliece, Niederreiter, etc.

    Laboratorio Nacional de Computacao Cientfica

  • IntroduccionCodigos Lineales

    DecodificacionSistema Criptografico McEliece/Niederreiter

    Referencias

    Objetivos

    Estudio de la teora de codigos lineales.

    Estudio de los codigos de Goppa.

    Implementacion de los codigos de Goppa en SAGE.

    Estudio de los Sistemas Criptograficos McEliece y Niederreiter

    Estudio de la seguridad en el mensaje del McEliece: Lee eBrickell (1989), Leon (1988), Stern (1989) e Canteaut eChabaud (1998).

    Laboratorio Nacional de Computacao Cientfica

  • IntroduccionCodigos Lineales

    DecodificacionSistema Criptografico McEliece/Niederreiter

    Referencias

    Construccion y Decodificacion Codigos LinealesCodigos de GoppaCodigo de Goppa Binario

    Codigos Correctores de Error

    Figura 2: Sistema Basico de Comunicacion

    Laboratorio Nacional de Computacao Cientfica

  • IntroduccionCodigos Lineales

    DecodificacionSistema Criptografico McEliece/Niederreiter

    Referencias

    Construccion y Decodificacion Codigos LinealesCodigos de GoppaCodigo de Goppa Binario

    Preliminares

    Definicion 2.1 (Distancia de Hamming y Distancia Mnima)

    Sean u e v Kn, la distancia de Hamming, d(u, v) es:d(u, v) = # {i ; ui 6= vi}

    La distancia mnima de un codigo C es el entero

    d := min {d(u, v); u, v C ,u 6= v}.

    -La capacidad de correccion de errores de un codigo lineal estadado por b(d 1)/2c.

    Laboratorio Nacional de Computacao Cientfica

  • IntroduccionCodigos Lineales

    DecodificacionSistema Criptografico McEliece/Niederreiter

    Referencias

    Construccion y Decodificacion Codigos LinealesCodigos de GoppaCodigo de Goppa Binario

    Codigos Lineales

    Definicion 2.2 (Peso de Hamming)

    Dado c C , el peso de Hamming w(c) esta dado por:w(c) = d(0, c) = |c|.

    Suponga w = mn {w(c); c C , c 6= 0}, entonces w = d .Definicion 2.3 (Codigo Lineal)

    Un codigo C Kn es lineal si C es un subespacio vectorial de Kn.Estos codigos tienen los siguientes parametros [n, k, d ].

    Laboratorio Nacional de Computacao Cientfica

  • IntroduccionCodigos Lineales

    DecodificacionSistema Criptografico McEliece/Niederreiter

    Referencias

    Construccion y Decodificacion Codigos LinealesCodigos de GoppaCodigo de Goppa Binario

    Matriz Generadora

    Un codigo lineal puede ser descrito mediante dos matrices:Generadora y Teste de Paridad.

    Suponga que la base {v1, ..., vk} para el K -espacio vectorial C ,forma la matriz.

    G =

    v1,1 . . . v1,n... . . . ...vk,1 . . . vk,n

    .Entonces, C =

    {xG ; x K k}.

    Laboratorio Nacional de Computacao Cientfica

  • IntroduccionCodigos Lineales

    DecodificacionSistema Criptografico McEliece/Niederreiter

    Referencias

    Construccion y Decodificacion Codigos LinealesCodigos de GoppaCodigo de Goppa Binario

    Matriz Generadora en la forma padron

    Hecho 1: Un espacio vectorial puede tener mas de una base =pueden existir otras matrices generadoras.

    Definicion 2.4

    Diremos que una matriz generadora G esta en la forma padron se:

    G = (Idkk |Ak(nk)),

    Hecho 2: Dado un codigo C , existe un codigo equivalente C conmatriz generadora en la forma padron.

    Laboratorio Nacional de Computacao Cientfica

  • IntroduccionCodigos Lineales

    DecodificacionSistema Criptografico McEliece/Niederreiter

    Referencias

    Construccion y Decodificacion Codigos LinealesCodigos de GoppaCodigo de Goppa Binario

    Matriz teste de paridad

    Definicion 2.5

    Sea C un codigo lineal y supongamos que la matriz H es tal que:

    v C HvT = 0.

    entonces H es una matriz teste de paridad de C .

    La expresion H(wT ) es conocida como sndrome de w .

    Hecho 3: Sea w = c + e, entonces HwT = HcT + HeT = HeT .

    Laboratorio Nacional de Computacao Cientfica

  • IntroduccionCodigos Lineales

    DecodificacionSistema Criptografico McEliece/Niederreiter

    Referencias

    Construccion y Decodificacion Codigos LinealesCodigos de GoppaCodigo de Goppa Binario

    Decodificacion

    Proceso por el cual una palabra codigo, c C , recibido por eldecodificador en un sistema de comunicacion con ruido, esconvertida en una palabra del codigo C .

    (i) Poltica del Mas Cercano.

    (ii) Usando el sndrome.

    Laboratorio Nacional de Computacao Cientfica

  • IntroduccionCodigos Lineales

    DecodificacionSistema Criptografico McEliece/Niederreiter

    Referencias

    Construccion y Decodificacion Codigos LinealesCodigos de GoppaCodigo de Goppa Binario

    Metodo Poltica del mas cercano

    Suponga que fue enviada la palabra x = x1x2 xn, y eldecodificador recibe y = y1y2 yn. Definamos el vector errorcomo e = y x. Entonces:

    ei = 0 con probabilidad 1 p (i-esimo es correcto).ei = 1 con probabilidad p (i-esimo es incorrecto).

    Estrategia: Escoger el vector error mas probable.

    Laboratorio Nacional de Computacao Cientfica

  • IntroduccionCodigos Lineales

    DecodificacionSistema Criptografico McEliece/Niederreiter

    Referencias

    Construccion y Decodificacion Codigos LinealesCodigos de GoppaCodigo de Goppa Binario

    Metodo Poltica del mas cercano

    Hecho 4: Sea un codigo lineal con parametro n entonces:

    Prob {e = 00000 } = (1 p)nProb {e = 01000 } = p(1 p)n1Prob {e = 10010 } = p2(1 p)n2

    ...

    Si p < 1/2 tenemos que 1 p > p. Luego(1 p)n > p(1 p)n1 > p2(1 p)n2

    Metodo de la fuerza bruta?.

    Laboratorio Nacional de Computacao Cientfica

  • IntroduccionCodigos Lineales

    DecodificacionSistema Criptografico McEliece/Niederreiter

    Referencias

    Construccion y Decodificacion Codigos LinealesCodigos de GoppaCodigo de Goppa Binario

    Metodo usando Sndrome

    Definicion 2.6 (Clase Lateral)

    Dado un codigo lineal C Kn , se define como clase lateral de vel conjunto v + C .

    Un vector de peso mnimo en v + C es llamado elemento lder dela clase.

    Laboratorio Nacional de Computacao Cientfica

  • IntroduccionCodigos Lineales

    DecodificacionSistema Criptografico McEliece/Niederreiter

    Referencias

    Construccion y Decodificacion Codigos LinealesCodigos de GoppaCodigo de Goppa Binario

    Ejemplo

    Considere el (6,3)-codigo lineal definido sobre F2 con la matrizgeneradora:

    G =

    1 0 0 1 0 10 1 0 1 1 00 0 1 0 1 1

    .En ese caso d = 3, y por tanto el codigo puede corregir hasta unerror.

    Laboratorio Nacional de Computacao Cientfica

  • IntroduccionCodigos Lineales

    DecodificacionSistema Criptografico McEliece/Niederreiter

    Referencias

    Construccion y Decodificacion Codigos LinealesCodigos de GoppaCodigo de Goppa Binario

    Ejemplo

    Sea r = (100011) recibi-do. Luego, HeT = HrT =(010)T , entonces e = (010000),as c = r e = (110011).

    lder sndrome

    000000 000000001 101000010 011000100 110001000 001010000 010100000 100

    Laboratorio Nacional de Computacao Cientfica

  • IntroduccionCodigos Lineales

    DecodificacionSistema Criptografico McEliece/Niederreiter

    Referencias

    Construccion y Decodificacion Codigos LinealesCodigos de GoppaCodigo de Goppa Binario

    Ejemplo

    sea r = (100011) recibi-do. Luego, HeT = HrT =(010)T , entonces e = (010000),as c = r e = (110011).

    lder sndrome

    000000 000000001 101000010 011000100 110001000 001010000 010100000 100

    Hecho 5: Se u Kn ew(u)

    d 1

    2

    , entonces u

    es el unico elemento lder de laclase lateral.

    Laboratorio Nacional de Computacao Cientfica

  • IntroduccionCodigos Lineales

    DecodificacionSistema Criptografico McEliece/Niederreiter

    Referencias

    Construccion y Decodificacion Codigos LinealesCodigos de GoppaCodigo de Goppa Binario

    Ejemplo

    Sea r = (100011) recibi-do. Luego, HeT = HrT =(010)T , entonces e = (010000),as c = r e = (110011).

    lder sndrome

    000000 000000001 101000010 011000100 110001000 001010000 010100000 100

    Hecho 5: Se u Kn e w(u) d 1

    2

    , entonces u es el unico

    elemento lder de la clase late-ral.Hecho 6: Dado C , un codigo li-neal con matriz teste de paridadH. Entonces u, v Kn estan enla misma clase lateral si, y solosi, HuT = HvT .

    Laboratorio Nacional de Computacao Cientfica

  • IntroduccionCodigos Lineales

    DecodificacionSistema Criptografico McEliece/Niederreiter

    Referencias

    Construccion y Decodificacion Codigos LinealesCodigos de GoppaCodigo de Goppa Binario

    Codigo de Goppa Binario

    Definicion 2.7 (Codigo de Goppa Binario)

    Sea F = Fm2 /K = F2; g(X ) F [X ] e L = {0, ..., n1} F ,donde i son dos a dos distintos y g(i ) 6= 0. Se define comocodigo de Goppa el conjunto

    K (L, g) =

    {(c0, ..., cn1) Kn;

    n1i=0

    ciz i 0 mod g(X )

    }.

    .

    donde g(X ) =

    j=0 gjXj , con g 6= 0 F

    Laboratorio Nacional de Computacao Cientfica

  • IntroduccionCodigos Lineales

    DecodificacionSistema Criptografico McEliece/Niederreiter

    Referencias

    Construccion y Decodificacion Codigos LinealesCodigos de GoppaCodigo de Goppa Binario

    Matriz de Teste de Paridad

    T =

    g 0 . . . 0

    g1 g . . . 0g2 g1 . . . 0

    ......

    . . ....

    g1 g2 . . . g

    ,V =

    1 1 . . . 11 2 . . . n21

    22 . . .

    2n

    ......

    . . ....

    11 12 . . .

    1n1

    D =

    1/g(0) 0 . . . 0

    0 1/g(1) . . . 0...

    .... . .

    ...0 0 . . . 1/g(n1)

    .

    Laboratorio Nacional de Computacao Cientfica

  • IntroduccionCodigos Lineales

    DecodificacionSistema Criptografico McEliece/Niederreiter

    Referencias

    Construccion y Decodificacion Codigos LinealesCodigos de GoppaCodigo de Goppa Binario

    Codigo de Goppa Binario

    Proposicion 2.1

    Dado (L, g) un codigo de Goppa binario, tal que g(X ) es libre decuadrados, entonces:

    (L, g) = (L, g 2)

    Luego la distancia mnima del codigo es al menos 2 , es decir segarantiza la correccion de errores.

    Laboratorio Nacional de Computacao Cientfica

  • IntroduccionCodigos Lineales

    DecodificacionSistema Criptografico McEliece/Niederreiter

    Referencias

    Ecuacion LLaveAlgoritmo de DecodificacionProblemas

    Decodificacion

    Los algoritmos de decodificacion para codigos de Goppa binariousan el sndrome:

    1 Calculo del polinomio sndrome;

    2 Solucion de la ecuacion llave;

    3 Localizacion y Correccion de errores.

    Laboratorio Nacional de Computacao Cientfica

  • IntroduccionCodigos Lineales

    DecodificacionSistema Criptografico McEliece/Niederreiter

    Referencias

    Ecuacion LLaveAlgoritmo de DecodificacionProblemas

    Calculo do polinomio sndrome

    Suponga que en un canal de comunicacion es transmitida lapalabra codigo c y es adicionado el vector error e Kn ,entonces w = c + e.As,

    yL

    wyX y =

    yL

    cyX y +

    yL

    eyX y .

    Debido que c es una palabra codigo, entonces:yL

    wyX y

    yL

    eyX y mod g(X ).

    Laboratorio Nacional de Computacao Cientfica

  • IntroduccionCodigos Lineales

    DecodificacionSistema Criptografico McEliece/Niederreiter

    Referencias

    Ecuacion LLaveAlgoritmo de DecodificacionProblemas

    Calculo del polinomio sndrome

    Haciendo S(X ) =

    yLey

    X y tenemos

    S(X ) yL

    wyX y mod g(X ),

    que es la definicion de polinomio sndrome condeg(S(X )) < deg(g(X )). Dado M, subconjunto de L, dondeey 6= 0, entonces:

    S(X ) yM

    eyX y mod g(X ). (1)

    Laboratorio Nacional de Computacao Cientfica

  • IntroduccionCodigos Lineales

    DecodificacionSistema Criptografico McEliece/Niederreiter

    Referencias

    Ecuacion LLaveAlgoritmo de DecodificacionProblemas

    Ecuacion Llave

    Relacion de congruencia entre polinomios: sndrome,evaluador y localizador.

    La forma de resolver esta ecuacion, teniendo en cuenta da lacantidad de errores para detectar y corregir, da origen a losalgoritmos de decodificacion, ejemplo: alternante, Barreto etAl, Berlekamp-Massey e Patterson.

    Las races del polinomio localizador determinan la posicion delerror.

    El valor del polinomio evaluador para cada raz encontradaanteriormente, nos proporciona la magnitud del error.

    Laboratorio Nacional de Computacao Cientfica

  • IntroduccionCodigos Lineales

    DecodificacionSistema Criptografico McEliece/Niederreiter

    Referencias

    Ecuacion LLaveAlgoritmo de DecodificacionProblemas

    Ecuacion Llave

    Usado por los algoritmos: Patterson y Barreto.Ecuacion llave 2. S(X )(X ) (X ) mod g(X )

    Polinomio grado del polinomio

    S(X ) 1(X ) (X ) 1

    Ecuacion Llave 2. S(X )(X ) (X ) mod g 2(X )Polinomio grado del polinomio

    S(X ) 2 1(X ) (X ) 1

    Laboratorio Nacional de Computacao Cientfica

  • IntroduccionCodigos Lineales

    DecodificacionSistema Criptografico McEliece/Niederreiter

    Referencias

    Ecuacion LLaveAlgoritmo de DecodificacionProblemas

    Ecuacion Llave

    Desdoblando en parte par e impar, y recordando que en cuerposde caracterstica 2 los polinomios pares son cuadrados perfectos:

    (X ) = a0(X )2 + Xa1(X )

    2, (2)

    con

    deg(a0(X )) /2 e deg(a1(X )) ( 1)/2, (3)

    De (2), tenemos (X ) = a1(X )2. Reemplazando (2) y (3) en laecuacion llave 2:

    a1(X )2 (a0(X )2 + Xa1(X )2)S(X ) mod g(X )

    a0(X ) a1(X )

    X + 1/S(X ) mod g(X ). (4)

    Laboratorio Nacional de Computacao Cientfica

  • IntroduccionCodigos Lineales

    DecodificacionSistema Criptografico McEliece/Niederreiter

    Referencias

    Ecuacion LLaveAlgoritmo de DecodificacionProblemas

    Algoritmo de Patterson

    SAGE

    Laboratorio Nacional de Computacao Cientfica

  • IntroduccionCodigos Lineales

    DecodificacionSistema Criptografico McEliece/Niederreiter

    Referencias

    Ecuacion LLaveAlgoritmo de DecodificacionProblemas

    Problemas

    La seguridad de los sistemas McEliece y Niederreiter esta basadoen los siguientes problemas:Problema1: Indistinguibilidad de los codigos de Goppa.Problema2: Decodificacion de un codigo lineal binario.Sea el codigo lineal C Fnq con parametros [n, k , d ] denotado porG Fknq ; c Fnq. Encontrar m Fkq tal que e = c mG tengapeso w(e) t.- NP-Completo.

    Laboratorio Nacional de Computacao Cientfica

  • IntroduccionCodigos Lineales

    DecodificacionSistema Criptografico McEliece/Niederreiter

    Referencias

    AlgoritmosFirma Digital basado en NiederreiterAtaques

    Sistema Criptografico McEliece/Niederreiter

    McEliece

    Usa codigos de Goppa.

    Parametros de seguridadoriginal: n = 10 y = 50

    Usa matriz generadora G .

    Cifrado/Descifrado O(n2).

    Resiste los criptoanalisis.

    Llaves grandes (100kB, nivelde seguridad 88). del tamanode las llaves R. Misoczki (2009).

    p15cm

    Niederreiter

    Usa codigos GRS (Chave ).Sidelnikov y Shestakov (1992):GRS inseguridad.Seguridad equivalente alMcEliece

    Usa la matriz de teste deparidad H.

    Cifrado/Descifrado O(n2).

    Resiste los criptoanalisis.

    Laboratorio Nacional de Computacao Cientfica

  • IntroduccionCodigos Lineales

    DecodificacionSistema Criptografico McEliece/Niederreiter

    Referencias

    AlgoritmosFirma Digital basado en NiederreiterAtaques

    Sistema Criptografico McEliece/Niederreiter

    McElieceGeneracion de las Llaves

    G : matriz, k n, generadora delcodigo (n, k, ).

    S : matriz, k n, randomicano singular.

    P: matriz, n n, depermutacion.

    G = S G P.Llave Publica: (G , t)Llave Privada: (S ,G ,P)

    p15cm

    NiederreiterGeneracion das Llaves

    H: matriz, (n k) n, de testede paridad del codigo (n, k , ).

    M: matriz, (n k) (n k)randomica no singular.

    P: matriz, n n, depermutacion.

    H = M H P.Llave Publica: (H , t)Llave Privada: (M,H,P)

    Laboratorio Nacional de Computacao Cientfica

  • IntroduccionCodigos Lineales

    DecodificacionSistema Criptografico McEliece/Niederreiter

    Referencias

    AlgoritmosFirma Digital basado en NiederreiterAtaques

    Sistema Criptografico McEliece/Niederreiter

    McElieceCifracion: texto plano m Fkq .

    Seleccionar e; w(e) bc.Computar c = mG + e.

    Decifracion: texto cifrado c FnqComputar c = cP1.Hacer x = D(c);D algoritmo decodificador.

    Computar x = xS1.

    p15cm

    Niederreiter

    Cifrado: texto plano m F(nk)q .representado por e Fnq; w(e) bc.

    Computar s = HeT .

    Descifrado: texto cifrado s F(nk)qComputar e = M1s = HPeT .Hacer PeT = D(e );D algoritmo decodificador.

    Computar eT = P1PeT .

    Laboratorio Nacional de Computacao Cientfica

  • IntroduccionCodigos Lineales

    DecodificacionSistema Criptografico McEliece/Niederreiter

    Referencias

    AlgoritmosFirma Digital basado en NiederreiterAtaques

    Firma Digital basado en Niederreiter

    Tentativas en Stern (1993) y Stern (1994)

    En (Courtois, Finiasz, e Sendrier, 2001) propuso un esquema,basado en el sistema Niederreiter, tal que sea posible utilizaren la practica.

    En el peor de los casos la firma, es hecha usando O(t!) pasos.

    Laboratorio Nacional de Computacao Cientfica

  • IntroduccionCodigos Lineales

    DecodificacionSistema Criptografico McEliece/Niederreiter

    Referencias

    AlgoritmosFirma Digital basado en NiederreiterAtaques

    Ataques

    -Ataques estructuralesProblema1: Indistinguibilidad de los codigos de Goppa.-Ataques en el mensajeProblema2: Descifrado de un codigo lineal binario.Problema3: Busqueda del peso mnimo del codigo.-Los algoritmos de ataque son modificaciones del algoritmoInformation Set Decoding-Que es Information Set?

    Laboratorio Nacional de Computacao Cientfica

  • IntroduccionCodigos Lineales

    DecodificacionSistema Criptografico McEliece/Niederreiter

    Referencias

    AlgoritmosFirma Digital basado en NiederreiterAtaques

    Seguridad:Information Set

    Dado N = {1, ..., n}, si I N,G = (V ,W )I es la descomposicionde la matriz G en I . Esto es V = (Gi )iI e W = (Gj)jNI .Ejemplo: Sea I = {1, 3, 4} N = {1, 2, 3, 4, 5}

    A =

    0 1 0 1 10 1 1 0 01 0 0 0 1

    A = 0 0 1 1 10 1 0 1 0

    1 0 0 0 1

    Laboratorio Nacional de Computacao Cientfica

  • IntroduccionCodigos Lineales

    DecodificacionSistema Criptografico McEliece/Niederreiter

    Referencias

    AlgoritmosFirma Digital basado en NiederreiterAtaques

    Seguridad:Information Set

    Dado N = {1, ..., n}, se I N,G = (V ,W )I es la descomposicionda matriz G en I . Esto es V = (Gi )iI e W = (Gj)jNI .Ejemplo: Sea I = {1, 3, 4} N = {1, 2, 3, 4, 5}

    A =

    0 1 0 1 10 1 1 0 01 0 0 0 1

    A = 0 0 1 1 10 1 0 1 0

    1 0 0 0 1

    Information Set

    Laboratorio Nacional de Computacao Cientfica

  • IntroduccionCodigos Lineales

    DecodificacionSistema Criptografico McEliece/Niederreiter

    Referencias

    AlgoritmosFirma Digital basado en NiederreiterAtaques

    Seguridad:Algoritmos

    Algoritmo Information Set Decoding (1962).

    Algoritmo de Lee y Brickell (1989).

    Algoritmo de Leon (1988).

    Algoritmo de Stern (1989).

    Algoritmo de Canteaut e Chabaud (1998).

    - El costo total de estos algoritmos es llamado de work factor.- El costo, en operaciones binarias, de una iteracion dividida por laprobabilidad de suceso, se denomina de binary work factor(bwf ).

    Laboratorio Nacional de Computacao Cientfica

  • IntroduccionCodigos Lineales

    DecodificacionSistema Criptografico McEliece/Niederreiter

    Referencias

    AlgoritmosFirma Digital basado en NiederreiterAtaques

    Seguridad: Algoritmo de Canteaut e Chabaud (1998)

    Variante fue propuesta por Canteaut-Chabaud y basicamente es elalgoritmo de Stern con una mejora propuesta por Tilburg (1990).

    WF (n, k ,w) mnp(Kl2l

    (nw

    )(nklw2p

    )) donde l = log2((k/2p )).-K es una constante pequena.

    Laboratorio Nacional de Computacao Cientfica

  • IntroduccionCodigos Lineales

    DecodificacionSistema Criptografico McEliece/Niederreiter

    Referencias

    Bibliografa I

    M. L. T. Villela A. Hefez. Codigos Corretores de Erros. Institutode Matematica Pura e Aplicada IMPA, Rio de Janeiro, 2008.

    V. Herbert B. Biswas. Efficient root finding of polynomials overfields of characteristic 2. WEWoRK, 2009.

    E. R. Berlekamp. Goppa codes. IEEE Transactions on InformationTheory, IT-19(5):590592, 1973.

    E. R. Berlekamp. Algebraic Coding Theory. No. M-6. Aegean ParkPress, 1984.

    D. J. Bernstein. List decoding for binary goppa codes. 2008.

    D. J. Bernstein, E. Dahmen, e J. Buchmann. Post-QuantumCryptography. Springer-Verlag, Berlin, 2009.

    Laboratorio Nacional de Computacao Cientfica

  • IntroduccionCodigos Lineales

    DecodificacionSistema Criptografico McEliece/Niederreiter

    Referencias

    Bibliografa II

    D. J. Bernstein, T. Lange, e C. Peters. Wild mceliece. SAC 2010,paginas 143158, 2011a.

    Daniel J. Bernstein, Tanja Lange, e Christiane Peters. Smallerdecoding exponents: ball-collision decoding. In CRYPTO 2011,Lecture Notes in Computer Science,, 6841:743760, 2011b.

    B. Biswas. Implementational aspects of code-based cryptography.Tese de Doutorado, LEcole Polytechnique, 2010.

    A. Canteaut e F. Chabaud. A new algorithm for findingminimum-weight words in a linear code: Application tomcelieces cryptosystem and to narrow-sense bch codes of length511. IEEE Transactions on Information Theory, 44, 1998.

    I. Castillo. Geometra Algebraica, notas de aula,www.uv.es/ivorra/Libros/Geometria.pdf. 2011.

    Laboratorio Nacional de Computacao Cientfica

  • IntroduccionCodigos Lineales

    DecodificacionSistema Criptografico McEliece/Niederreiter

    Referencias

    Bibliografa III

    N. Courtois, M. Finiasz, e N Sendrier. How to achieve amceliece-based digital signature scheme. Lecture Notes inComputer Science, paginas 157174, 2001.

    S. C. Coutinho. Numeros Inteiros e Criptografa RSA. Instituto deMatematica Pura e Aplicada IMPA e Sociedade Brasileira deComputacao SBM, Rio de Janeiro, 1997.

    N. J. A. Sloane F. J. MacWilliams. The Theory of Error CorrectingCodes, volume 16. North-Holland Publishing Company, U.S.A,1997.

    V. D. Goppa. A new class of linear error-correcting codes.Problemy Peredachi Informatsii, 6(3):2430, 1970.

    J. Grossman. Coding theory: Introduction to linear codes andapplications. River Academic Journal, 4(2):, 2008.

    Laboratorio Nacional de Computacao Cientfica

  • IntroduccionCodigos Lineales

    DecodificacionSistema Criptografico McEliece/Niederreiter

    Referencias

    Bibliografa IV

    V. Guruswami e M. Sudan. Improved decoding of reed-solomonand algebraic-geometry codes. IEEE Transactions onInformation Theory, 45(6):17571767, 1999.

    G. Hoffmann. Implementation of mceliece using quasi-dyadicgoppa codes. Relatorio Tecnico 2, Technical University ofDarmstadt, 2011.

    K. Hubber. Note on decoding binary goppa codes. ElectronicsLetters, 32(2):102103, 1996.

    B.Y. Yang J. Ding, C. Wolf. l-invertible cycles for multivariatequadratic public cryptography. Lecture Notes in ComputerScience, 4450:266281, 2007.

    Laboratorio Nacional de Computacao Cientfica

  • IntroduccionCodigos Lineales

    DecodificacionSistema Criptografico McEliece/Niederreiter

    Referencias

    Bibliografa V

    Kaoru Kurosawa, Toshiya Itoh, e Masashi Takeuchi. Public keycryptosystem using a reciprocal number with the sameintractability as factoring a large number. CRYPTOLOGIA, 12:225233, 1994.

    P. Lee e E. Brickell. An observation on the security ofmcelieces public key cryptosystem. Advances inCryptology-EUROCRYPT88, LNCS, 330:275280, 1989.

    J. Leon. A probabilistic algorithm for computing minimum weightsof large error-correcting codes. IEEE Transactions onInformation Theory, 34(5):13541359, 1988.

    J. L. Massey. Shift- register synthesis and bch decoding. IEEETrans. Information Theory, IT-15:122127, 1969.

    Laboratorio Nacional de Computacao Cientfica

  • IntroduccionCodigos Lineales

    DecodificacionSistema Criptografico McEliece/Niederreiter

    Referencias

    Bibliografa VI

    R. J. McEliece. A public-key cryptosystem based on algebraiccoding theory. The Deep Space Network Progress Report,paginas 114116, 1978.

    H. Niederreiter. Knapsack-type cryptosystems and algebraic codingtheory. Problems of Control and Information Theory, 15(2):159166, 1986.

    R. Misoczki P. S. L. M. Barreto, R. Lindner. Decoding square-freegoppa codes over fp. Code-based Cryptography, 2011.

    N. J. Patterson. The algebraic decoding of goppa codes. IEEETransactions on Information Theory, IT-21(2):203207, 1974.

    E. Stitzinger R. E. Klima, N. Sigmon. Applications of Abstractwith MAPLE. CRC Press LLC, U.S.A., 2000.

    Laboratorio Nacional de Computacao Cientfica

  • IntroduccionCodigos Lineales

    DecodificacionSistema Criptografico McEliece/Niederreiter

    Referencias

    Bibliografa VII

    P. Barreto R. Misoczki. Compact mceliece keys from goppa codes.Lecture Notes in Computer Science, 5867:376392, 2009.

    L. M. Adleman R.L. Rivest, A. Shamir. Method for obtainingdigital signatures and public-key cryptosystems.Communications of the ACM, 21(2):120126, 1978.

    N. Sendrier. Finding the permutation between equivalent codes:the support splitting algorithm. IEEE Transactions onInformation Theory, 46(4):11931203, 2000.

    J. Stern. A method for finding codewords of small weight. CodingTheory and Applications, 388:106133, 1989.

    J. Stern. A new identification scheme based on syndrome decoding.Lecture Notes in Computer Science, (973):1321, 1993.

    Laboratorio Nacional de Computacao Cientfica

  • IntroduccionCodigos Lineales

    DecodificacionSistema Criptografico McEliece/Niederreiter

    Referencias

    Bibliografa VIII

    J. Stern. Can one design a signature scheme based onerror-correcting codes ? Lecture Notes in Computer Science,(917):424426, 1994.

    Van Tilburg. On the mceliece cryptosystem. Lecture Notes inComputer Science, (403):119131, 1990.

    S. O. Shestakov V. M. Sidelnikov. On insecurity of cryptosystemsbased on generalized reed-solomon codes. Discrete Mathematicsand Applications, 2(4):439444, 1992.

    M.E. Hellman. W. Diffie. New directions in cryptography. IEEETransactions on Information Theory,, IT-22(6):644654, 1976.

    Laboratorio Nacional de Computacao Cientfica

    IntroduccinCdigos LinealesConstruccin y Decodificacin Cdigos LinealesCdigos de GoppaCdigo de Goppa Binario

    DecodificacinAlgoritmo de Decodificacin

    Sistema Criptogrfico McEliece/NiederreiterAtaques