Blowfish
Na criptografia, Blowfish é uma cifra simétrica de blocos que pode ser usado em substituição ao DES, algoritmo que possuía em torno de 19 anos de uso,e era vulnerável a ataques por força bruta devido ao tamanho de sua chave (56 bits), ou em substituição ao IDEA. O Blowfish apresenta uma rede de Feistel de 16 iterações com tamanho de bloco de 64-bits, uma chave que pode variar entre 32 a 448-bits, e S-boxes altamente chaves-dependentes, tornando-o ideal para aplicações tanto domésticas, quanto comerciais. O Blowfish foi desenvolvido em 1993 por Bruce Schneier como uma alternativa grátis mais rápida para os algorítmos criptográficos existentes. Desde então ele vem sendo analisado de forma considerável e está conquistando a aceitação do mercado como um algoritmo forte. O Blowfish não é patenteado, tem sua licença grátis e está a disposição para todos.

O artigo original do Blowfish foi apresentado no "First Fast Software Encryption Workshop" ocorrido em Cambridge, NY, EUA. Os resultados do "workshop" foram publicados por Springer-Verlang, "Lecture Notes in Computer Science" #809, 1994). A edição de abril de 1994 de "Dr. Dobb's Journal" também tratou expôs a proposta de Bruce Schneier. "Blowfish -- One Year Later" foi publicada em Setembro de 1995 em outra edição de "Dr. J.R.' Bob' Dobb's Journal".

Muitos estudiosos em criptografia examinaram o Blowfish, entretanto, ainda são poucos os resultados publicados. Serge Vaudenay examinou chaves fracas no Blowfish: existe uma classe de chaves que podem ser detectadas - mas não "quebradas" - no Blowfish com variantes de 14 iterações ou menos.

Qualquer pessoa pode obter uma cópia do código-fonte do Blowfish a partir da Internet e fazer uso em suas aplicações. Não há regras de uso do código. Bruce Schneier pede, somente, que seja notificado de aplicações comerciais para que possam ser listadas em sua página na Internet.

Existem duas derivações do Blowfish:
# Twofish: é uma cifra de blocos simétrica projetado e desenvolvido em 1998 por Bruce Schneier, John Kelsey, Doug Whiting, David Wagner, Chris Hall, e Niels Ferguson. O algoritmo foi um dos cinco finalistas no AES (Advanced Encryption Stantard contest), ele é composto por blocos de 128-bits de tamanho e chaves de tamanho até 256-bits, assim como seu predecessor, o Twofish possui S-boxes chaves dependentes, é composto por Redes de Feistel com uma função-F bijetora feita por quatro S-boxes de 8-bits, uma matrix de 4x4 de distância de separação máxima sobre GF(2formula_1) (MDS-matrix), uma pseudo-transformação de Hadamard (PHT), rotação bit a bit, e um organizador de chaves interno complexo.
# Threefish: é também uma cifra de blocos simétrica projetado e desenvolvido em 2008 por Bruce Schneier, Niels Ferguson, Stefan Lucks, Doug Whiting, Mihir Bellare, Tadayoshi Kohno, Jon Callas, e Jesse Walker. O algoritmo foi criado para fazer parte do "Skein Hash Function" um algoritmo competidor no "NIST hash function competition". Definido por blocos de tamanho 256, 512, e 1024-bits, com chave do tamanho do bloco, valor "tweak" de 128 bits para qualquer bloco, não possuindo nenhuma S-Box, e sim uma função simples não linear de mistura chamada MIX que opera em 2 palavras de 64-bits cada. A função MIX consiste em uma simples adição, uma rotação por uma constante, e um XOR. Threefish-256 e Threefish-512 consiste de 72 iterações, já o Threefish-1024 consiste de 80 iterações. O algoritmo consiste de apenas 3 operações em palavras de 64-bits: XOR, ADD e rotações de tamanho fixo.
Q8789
criptografia
Concept
Q4681865
cifra
Concept
Q327675
simétrica
Concept
Q135035
DES
MEDIA
Q848204
IDEA
MISC
Q368328
Bruce Schneier
PER
Q350
Cambridge
LOC
Q30
EUA
LOC
Q176916
Springer-Verlang
ORG
None
Lecture Notes in Computer Science
UNK
None
Dr. Dobb's Journal
UNK
Q2068
1995
TIME
Q8789
criptografia
Concept
Q128751
código-fonte
Concept
Q75
Internet
Concept
Q747320
Twofish
MISC
None
Threefish
UNK
Q815853
Blowfish
MISC
Q815853
Blowfish
MISC
Q815853
Blowfish
MISC
Q815853
Blowfish
MISC
Q815853
Blowfish
MISC
Q815853
Blowfish
MISC
Q815853
Blowfish
MISC
Q815853
Blowfish
MISC
Q815853
Blowfish
MISC
Q815853
Blowfish
MISC
Q815853
Blowfish
MISC
1995-09-01T00:00:00Z^^http://www.w3.org/2001/XMLSchema#dateTime
Setembro de 1995
DATE
+19^^http://www.w3.org/2001/XMLSchema#decimal
19
NUMBER
+56^^http://www.w3.org/2001/XMLSchema#decimal
56
NUMBER
+16^^http://www.w3.org/2001/XMLSchema#decimal
16
NUMBER
+64^^http://www.w3.org/2001/XMLSchema#decimal
64
NUMBER
+32^^http://www.w3.org/2001/XMLSchema#decimal
32
NUMBER
+448^^http://www.w3.org/2001/XMLSchema#decimal
448
NUMBER
+1993^^http://www.w3.org/2001/XMLSchema#decimal
1993
NUMBER
+809^^http://www.w3.org/2001/XMLSchema#decimal
809
NUMBER
+1994^^http://www.w3.org/2001/XMLSchema#decimal
1994
NUMBER
+14^^http://www.w3.org/2001/XMLSchema#decimal
14
NUMBER
+1998^^http://www.w3.org/2001/XMLSchema#decimal
1998
NUMBER
+128^^http://www.w3.org/2001/XMLSchema#decimal
128
NUMBER
+256^^http://www.w3.org/2001/XMLSchema#decimal
256
NUMBER
+8^^http://www.w3.org/2001/XMLSchema#decimal
8
NUMBER
+4^^http://www.w3.org/2001/XMLSchema#decimal
4
NUMBER
+4^^http://www.w3.org/2001/XMLSchema#decimal
4
NUMBER
+2^^http://www.w3.org/2001/XMLSchema#decimal
2
NUMBER
+1^^http://www.w3.org/2001/XMLSchema#decimal
1
NUMBER
+2008^^http://www.w3.org/2001/XMLSchema#decimal
2008
NUMBER
+256^^http://www.w3.org/2001/XMLSchema#decimal
256
NUMBER
+512^^http://www.w3.org/2001/XMLSchema#decimal
512
NUMBER
+1024^^http://www.w3.org/2001/XMLSchema#decimal
1024
NUMBER
+128^^http://www.w3.org/2001/XMLSchema#decimal
128
NUMBER
+2^^http://www.w3.org/2001/XMLSchema#decimal
2
NUMBER
+64^^http://www.w3.org/2001/XMLSchema#decimal
64
NUMBER
-256^^http://www.w3.org/2001/XMLSchema#decimal
-256
NUMBER
-512^^http://www.w3.org/2001/XMLSchema#decimal
-512
NUMBER
+72^^http://www.w3.org/2001/XMLSchema#decimal
72
NUMBER
-1024^^http://www.w3.org/2001/XMLSchema#decimal
-1024
NUMBER
+80^^http://www.w3.org/2001/XMLSchema#decimal
80
NUMBER
+3^^http://www.w3.org/2001/XMLSchema#decimal
3
NUMBER
+64^^http://www.w3.org/2001/XMLSchema#decimal
64
NUMBER
designed by
based on