Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2023:iotelea:safeme [2023/05/29 21:00]
oana.cocoara [Descriere generală]
pm:prj2023:iotelea:safeme [2023/05/29 21:24] (current)
oana.cocoara [Descriere generală]
Line 14: Line 14:
  
 <note tip> <note tip>
-Un sistem care cripteaza/​decripteaza ​datele ​care vin de pe interfata seriala. +Un sistem care cripteaza/​decripteaza ​mesajele ​care vin pe interfata seriala. ​Algoritmul ​de criptare ​este un One Time Pad unde expansiunea cheii se face prin repetarea ei. Accesul ​la chei se face prin intermediul unor utilizatori presetatiale caror drepturi sunt accesate folosind PIN-ul prorpiu de 4 cifre.
- +
-**Mod de functionare:​** +
-  * Meniu initial de login: tot ce se poate face e sa se aleaga un user pentru logare: se cere PIN-ul de 4 cifre, care se introduce de la tastatura. La login efectuat cu succes, globala active_user se schimba la indexul userului respectiv. Va fi folosita la alegerea cheii de criptare ​si la verificarea posibilitatii decriptarii unui cyphertext. +
- +
-**Meniul de utilizare efectiva de catre un user: optiuni pentru criptare, decriptare si logout.**  +
- +
-  * Criptare: asteapta input de la interfata seriala. Acesta se cripteaza (aproape) OTP (expansiunea cheii este doar repetarea ei) folosind cheia cu indexul active_user si rezultatul este intors ​la seriala (primul caracter identifica cheia folosita). +
- +
-  * Decriptare: ​se verifica daca userul curent poate decripta cyphertextul dat (in functie de primul caracterdespre care am mai zis): userii normali pot folosi doar propria cheie, admin le poate folosi pe toate. +
- +
-  * Logout: se seteaza active_user la -1 si se revine in meniul initial +
 </​note>​ </​note>​
  
Line 51: Line 39:
  
 <note tip> <note tip>
-Descrierea codului aplicaţiei (firmware)+**Mod de functionare:** 
-  * mediu de dezvoltare (if any) (e.gAVR StudioCodeVisionAVR) +  * Meniu initial ​de login: tot ce se poate face sa se aleaga un user pentru logare: se cere PIN-ul de 4 cifre, care se introduce de la tastaturaLa login efectuat cu succes, globala active_user se schimba la indexul userului respectivVa fi folosita la alegerea cheii de criptare si la verificarea posibilitatii decriptarii unui cyphertext. 
-  * librării şi surse 3rd-party (e.g. Procyon AVRlib+ 
-  * algoritmi şi structuri pe care plănuiţi să le implementaţi +**Meniul de utilizare efectiva de catre un user: optiuni pentru criptaredecriptare si logout.**  
-  * (etapa 3) surse şi funcţii implementate+ 
 +  * Criptare: asteapta input de la interfata serialaAcesta se cripteaza (aproapeOTP (expansiunea cheii este doar repetarea ei) folosind cheia cu indexul active_user si rezultatul este intors la seriala (primul caracter identifica cheia folosita). 
 + 
 +  * Decriptare: se verifica daca userul curent poate decripta cyphertextul dat (in functie de primul caracter, despre ​care am mai zis): userii normali pot folosi doar propria cheie, admin le poate folosi pe toate. 
 + 
 +  * Logout: se seteaza active_user la -1 si se revine in meniul initial. ​
 </​note>​ </​note>​
  
Line 92: Line 85:
  
 {{:​pm:​prj2023:​iotelea:​whatsapp_image_2023-05-16_at_16.11.11_1_.jpeg?​600|}} {{:​pm:​prj2023:​iotelea:​whatsapp_image_2023-05-16_at_16.11.11_1_.jpeg?​600|}}
 +
 +      * Exemplu de functionalitate:​ logare cu unul dintre utilizatori,​ dupa care am ales optiunea de criptare, am adaugat textul pe care doream sa il criptez. La final am ales sa sa decriptez textul criptat - am ales optiunea de decriptare din meniul utilizatorului.
 +
 +{{:​pm:​prj2023:​iotelea:​safe_me_ex1.png?​600|}}
 +
 +{{:​pm:​prj2023:​iotelea:​safe_me_decrypt.png?​600|}}
 +
  
 </​note>​ </​note>​
Line 104: Line 104:
     * Problema (oarecum in acelasi registru cu cea anterioara):​ Folosind chei cu caractere uzuale, se poate ivi cazul in care am X xor X, ceea ce da 0, iar printarea va vedea asta ca un end of string. Asadar, am folosit caractere mai putin folosite in chei.     * Problema (oarecum in acelasi registru cu cea anterioara):​ Folosind chei cu caractere uzuale, se poate ivi cazul in care am X xor X, ceea ce da 0, iar printarea va vedea asta ca un end of string. Asadar, am folosit caractere mai putin folosite in chei.
  
-    * Am avut probleme ​read nu e blocant ​si a trebuit sa fac un loop blocant cu Serial.available().+    * Alte probleme ​simple: ​read nu este o functie blocanta ​si a trebuit sa fac un loop blocant cu Serial.available().
  
 </​note>​ </​note>​
Line 117: Line 117:
      * Conectarea si testarea componentelor ​ 2023/05/16      * Conectarea si testarea componentelor ​ 2023/05/16
      * Nu a mers USB HostShield-ul si readaptarea proiectului ​ 2023/05/27      * Nu a mers USB HostShield-ul si readaptarea proiectului ​ 2023/05/27
-     * Finalizarea ​codului ​aplicatiei, realizarea ​documentatiei finale si incarcarea lor pe site  2023/05/28 +     * Finalizarea ​partii software a aplicatiei ​2023/​05/​28 
-     * Prezentarea proiectului ​ 2023/05/31+     * Realizarea ​documentatiei finale si incarcarea lor pe site 2023/05/29 
 +     * Prezentarea proiectului ​ 2023/05/30
 </​note>​ </​note>​
  
pm/prj2023/iotelea/safeme.1685383255.txt.gz · Last modified: 2023/05/29 21:00 by oana.cocoara
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0