аЯрЁБс>ўџ &(ўџџџ%џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџьЅСq`№П@ bjbjqPqP7::@џџџџџџЄ                Ќ  Q žФ Ф Ф Ф Ф Ф Ф Ф а в в в в в в $яhW і  Ф Ф Ф Ф Ф і   Ф Ф ˆ ˆ ˆ Ф ^ Ф  Ф а ˆ Ф а ˆ ˆ   ˆ Ф И SєkŠе  " :ˆ М ! 0Q ˆ c\ cˆ c ˆ 4Ф Ф ˆ Ф Ф Ф Ф Ф і і r Ф Ф Ф Q Ф Ф Ф Ф    Фм Ф   м          џџџџ Tэtulo: Uma biblioteca na linguagem reversэvel Janus para implementaчуo de procedimentos criptogrсficos Resumo: Neste trabalho, propomos uma biblioteca de funчѕes para a linguagem de programaчуo reversэvel Janus. As cifras de criptografia simщtrica AES e ChaCha sуo implementadas utilizando funчѕes desta biblioteca e, consequentemente, da linguagem. A biblioteca conta com funчѕes de matemсtica modular, geraчуo de nњmeros pseudoaleatѓrios, algoritmo de Euclides estendido, operaчѕes binсrias, cсlculo de logaritmo e operaчѕes sobre vetores. As implementaчѕes sуo comparadas com versѕes em alto e baixo nэvel, a fim de medir a eficiъncia. Palavras-chave: Programaчуo reversэvel; Computaчуo reversэvel; Criptografia; Algoritmos de chave simщtrica. Abstract: In this work, we propose a library to the reversible programming language Janus with a wide range of functions: mathematical modular operations, a pseudorandom number generator function, the extended Euclidean algorithm, binary operations, a generic logarithm function and vector operations. Symmetric key ciphers such as AES and ChaCha are implemented. To measure the efficiency of these implementations, the number of operations are compared to circuits and high-level versions. Keywords: Reversible programming; Reversible computing; Cryptography; Symmetric-key algorithm. ioqsŒ б ђ ѓ ћ § џ с щ     & @ їѓчѓуѓуѓмчбЩбчЩбЩбЩбhNQmH sH hNQh™hFmH sH  hNQhNQhNQhNQh™hF5mH sH h™hFhNQh™hF5hirs„ … ё ђ ѓ ў џ р с @ іііііііііііііі„`„gdNQ@ §50P:p‘>NАа/ Ар=!А "А #‰$‰%ААаАа а†œ 666666666666666666666666666666666666666666 6666666666 666666666666 666666666666666666666666666666666666666666666666666666666666666666T@ёџT Normal$„аd`„аa$CJ_HaJmHsHtHN@QRN ‘>N0Tэtulo 1$$d№ЄШ@&5CJ \aJ H@QRH ‘>N0Tэtulo 2$$ЄШ@&5CJ\aJ^@QR^ ‘>N0Tэtulo 3$$Є @&#5B*CJOJQJ\^JaJphfffR@QRR ‘>N0Tэtulo 4$$Є @&>*B*OJQJ^JphfffP@QRP ‘>N0Tэtulo 5$$Є @&B*OJQJ^JphfffV@QRV ‘>N0Tэtulo 6$$Є @&6B*OJQJ]^Jphfff>A@ђџЁ> 0Fonte parсg. padrуoTiѓџГT 0 Tabela normalі4ж l4жaі ,kєџС, 0 Sem lista PўOЂёP Ц Char Char7"5CJ KH OJPJQJ\^JaJ RўЂR Ц Char Char6$56CJOJPJQJ\]^JaJLўЂL Ц Char Char55CJOJPJQJ\^JaJLўЂ!L Ц Char Char45CJOJPJQJ\^JaJRўЂ1R Ц Char Char3$56CJOJPJQJ\]^JaJDўЂAD Ц Char Char25OJPJQJ\^JTўOёџRT ‘>N0normal$„аd`„аa$CJ_HaJmHsHtH6>@QR6 ‘>N0Tэtulo$$CJ*aJ*PўOЂqP Ц  Char Char1"5CJ KHOJPJQJ\^JaJ \J@QR\ ‘>N0 Subtэtulo $$ЄШ#6B*CJOJQJ]^JaJphfffDўOЂ‘D ЦА Char CharCJOJPJQJ^JaJ@џџџџhirs„…ёђѓўџрсB˜0€€˜0€€˜0€€˜0€€˜0€€˜0€€˜0€€˜0€€˜0€€˜0€€˜0€€˜0€€˜0€€˜0€€hirs„BIˆ0Iˆ0Iˆ0Iˆ0Kˆ0Kˆ0ьG@ @ @ /4бжЋЛINIO%B:G%3™БB3ѓџB%BхNQ^)"a9™hF‘>NІ+Ф?ѕсBOџ@€&&˜ZK&&@@@џџUnknownџџџџџџџџџџџџG‡: џTimes New Roman5€Symbol3& ‡: џArial5UbuntuA& ‡ŸTrebuchet MS7џрџ@ŸCambria7&џрџЌ@ŸCalibri"Aˆ№аЉ„tG‡Тz‡вn вn !№ ‰ДД24>>№ќџ(№џ$Pџџџџџџџџџџџџџџџџџџџџџ‘>N2џџgTэtulo: Uma biblioteca na linguagem reversэvel Janus para implementaчуo de procedimentos criptogrсficosHelioHelioўџр…ŸђљOhЋ‘+'Гй0Ь˜$0<L \h ˆ ”  ЌДМФфhTэtulo: Uma biblioteca na linguagem reversэvel Janus para implementaчуo de procedimentos criptogrсficosHelioNormalHelio3Microsoft Office Word@Оя@\Хm‡єд@rдыkŠевnўџеЭеœ.“—+,љЎ0P hp|„Œ” œЄЌД М 0ф >ц hTэtulo: Uma biblioteca na linguagem reversэvel Janus para implementaчуo de procedimentos criptogrсficos Tэtulo ўџџџ ўџџџўџџџ !"#$ўџџџ§џџџ'ўџџџўџџџўџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџRoot Entryџџџџџџџџ РFєkŠе)€1Tableџџџџџџџџ cWordDocumentџџџџџџџџ7SummaryInformation(џџџџDocumentSummaryInformation8џџџџџџџџџџџџCompObjџџџџџџџџџџџџuџџџџџџџџџџџџџџџџџџџџџџџџўџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўџ џџџџ РF#Documento do Microsoft Office Word MSWordDocWord.Document.8є9Вq