WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Ingenierie par la methodes UP d'un systeme de certification des documents numerique a l'aide de la cryptographie


par Elie Musampa
Université protestante de Lubumbashi - Ingenierie des systemes d'information 2023
  

précédent sommaire

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

BIBLIOGRAPHIE

BCdiploma. (2023, janvier 3). Comment et pourquoi authentifier un diplome grace au numerique. la fraude aux diplomes.

IBM. (2023, Aout 14). Présentation de la création de certificats numériques. Récupéré sur IBM: https://www.ibm.com/docs/fr/rpt/10.5.0?topic=overview-digital-certificate-creation

Raport-gratuit.com. (2019). Notion générale sur la cryptographie. Récupéré sur Raport-gratuit.com: https://www.rapport-gratuit.com/notion-generale-sur-la-cryptographie/

Verlhiac, N. (2022, Avril 14). Fonctions de hachage et valeur hachées expliquées simplement. Récupéré sur Ostraca.fr: https://blog.ostraca.fr/blog/fonctions-de-hachage/

Yousign. (20203, Septembre 6). Le blog de la digitalisation des PME . Récupéré sur Yousign.com.

45

ANNEXE

Le résultat de l'implémentation de ce travail et afficher ici. Nous cette partie contient du code source ainsi que les différentes interfaces de l'application.

4.1.1.3 Le code Sources

Cette partie et réserve au code source les plus important pour la certification de document numérique. Nous allons afficher le code source de l'algorithme SHA-256. Nous allons expliquer comment cette algorithme fonctionnement sur la certification de ficher numérique.

Code :

/**

* A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined

* in FIPS 180-2

* Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.

* Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet

*

*/

var inherits = require('inherits')

var Hash = require('./hash')

var Buffer = require('safe-buffer').Buffer

var K = [

0x428A2F98, 0x71374491, 0xB5C0FBCF, 0xE9B5DBA5, 0x39565B, 0x59F111F1, 0x923F82A4, 0xAB1C5ED5, 0xD807AA98, 0x12835B01, 0x243185BE, 0x550C7DC3,

46

0x72BE5D74, 0x80DEB1FE, 0x9BDC06A7, 0xC19BF174, 0xE49B69C1, 0xEFBE4786, 0x0FC19DC6, 0x240CA1CC, 0x2DE92C6F, 0x4A7484AA, 0x5CB0A9DC, 0x76F988DA, 0x983E5152, 0xA831C66D, 0xB00327C8, 0xBF597FC7, 0xC6E00BF3, 0xD5A79147, 0x06CA6351, 0x14292967, 0x27B70A85, 0x2E1B2138, 0x4D2C6DFC, 0x53380D13, 0x650A7354, 0x766A0ABB, 0x81C92E, 0x92722C85, 0xA2BFE8A1, 0xA81A664B, 0x4B8B70, 0xC76C51A3, 0xD192E819, 0xD6990624, 0xF40E3585, 0x106AA070, 0x19A4C116, 0x1E376C08, 0x2748774C, 0x34B0BCB5, 0x391C0CB3, 0x4ED8AA4A, 0x5B9CCA4F, 0x682E6FF3, 0x748F82EE, 0x78A5636F, 0x84C87814, 0x8CC70208, 0x90BEFFFA, 0xA4506CEB, 0xBEF9A3F7, 0xC67178F2

]

var W = new Array(64)

function Sha256 () { this.init()

this._w = W // new Array(64)

Hash.call(this, 64, 56)

}

inherits(Sha256, Hash)

Sha256.prototype.init = function () {

47

this._a = 0x6a09e667 this._b = 0xbb67ae85 this._c = 0x3c6ef372 this._d = 0xa54ff53a this._e = 0x510e527f this._f = 0x9b05688c this._g = 0x1f83d9ab this._h = 0x5be0cd19

return this }

function ch (x, y, z) { return z " (x & (y " z)) }

function maj (x, y, z) { return (x & y) | (z & (x | y)) }

function sigma0 (x) {

return (x >>> 2 | x << 30)

" (x >>>

13

| x <<

19)

" (x >>>

22

| x <<

10)

}

 
 
 
 
 
 
 
 

function sigma1 (x) {

 
 
 
 
 
 
 
 

return (x >>> 6 | x << 26)

" (x >>>

11

| x <<

21)

" (x >>>

25

| x <<

7)

}

48

function gamma0 (x) {

return (x >>> 7 | x << 25) " (x >>> 18 | x << 14) " (x >>> 3) }

function gamma1 (x) {

return (x >>> 17 | x << 15) " (x >>> 19 | x << 13) " (x >>> 10) }

Sha256.prototype._update = function (M) {

var W = this._w

var a = this._a | 0 var b = this._b | 0 var c = this._c | 0 var d = this._d | 0 var e = this._e | 0 var f = this._f | 0 var g = this._g | 0 var h = this._h | 0

for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4)

for (; i < 64; ++i) W[i] = (gamma1(W[i - 2]) + W[i - 7] + gamma0(W[i - 15]) + W[i - 16]) | 0

for (var j = 0; j < 64; ++j) {

var T1 = (h + sigma1(e) + ch(e, f, g) + K[j] + W[j]) | 0 var T2 = (sigma0(a) + maj(a, b, c)) | 0

h = g

49

g = f

f = e

e = (d + T1) | 0

d = c

c = b

b = a

a = (T1 + T2) | 0

}

this._a = (a + this._a) | 0 this._b = (b + this._b) | 0 this._c = (c + this._c) | 0 this._d = (d + this._d) | 0 this._e = (e + this._e) | 0 this._f = (f + this._f) | 0 this._g = (g + this._g) | 0 this._h = (h + this._h) | 0

}

Sha256.prototype._hash = function () {

var H = Buffer.allocUnsafe(32)

H.writeInt32BE(this._a, 0) H.writeInt32BE(this._b, 4) H.writeInt32BE(this._c, 8) H.writeInt32BE(this._d, 12) H.writeInt32BE(this._e, 16) H.writeInt32BE(this._f, 20)

50

H.writeInt32BE(this._g, 24) H.writeInt32BE(this._h, 28)

return H

}

module.exports = Sha256

Explication:

Ce code est une implémentation en JavaScript de l'algorithme de hachage sécurisé SHA-256. Il s'agit d'une fonctionnalité de hachage cryptographique utilisée pour générer des condensés de taille fixe à partir de données d'entrée.

Ce code est une implémentation en JavaScript de l'algorithme de hachage sécurisé SHA-256. L'algorithme SHA-256 est utilisé pour générer des condensés (hash) de taille fixe à partir de données d'entrée. Le code définit une classe appelée "Sha256" qui hérite de la fonctionnalité de la classe "Hash". La classe "Sha256" contient des méthodes pour initialiser les variables internes, mettre à jour le hachage avec les données d'entrée et générer le résultat final du hachage. Le code utilise également des fonctions auxiliaires pour effectuer les opérations nécessaires dans le processus de hachage. En résumé, ce code permet de calculer le hachage SHA-256 d'un ensemble de données en utilisant JavaScript.

Les interfaces de l'application

Nous allons maintenant présenter les différentes interfaces de l'application. ? Page d'accueil

Figure 12: Page d'acceuil

Figure 13 : Interface de application

51

? Page Menu

Figure 14: Interface Menu

? Page Création de Compte :

Figure 15: Interface de creation de compte

52

? Page S'auttentifier

Figure 16: Interface d'authentification

53

Figure 17: interface d'inscription

54

Figure 18: page d'uploading

? Page Uploader document

Lorsqu'un admin upload un document, dans notre cas prenons un exemple d'une liste d'effectif de étudiants en Bac 3 isi. L'admin ajoute les noms de l'utilisateur, Remplis la description de l'établissement qui a fournis cette application. Et choisie l'emplacement du document et l'upload. Alors comment est-ce que le document obtient le une clé Hash ?

Pour répondre à cette question nous allons nous diriger dans le code source. Alors le premier constat que nous allons faire ce que, une clé Hash a étais attribuer juste après que nous avons Uploader le donner. Cette clé et privée, elles ne peuvent jamais se ressemble avec une autre. Le résultat et démontre sur la Figure 28 et 29.

Sur cette image nous voyons dans le terminal le résultat de l'upload. Ce résultat montre la description du processus.

Figure 19: resultat D'uploading

55

Figure 20: resultat d'uploading

Figure 21: page de verificataion recruteur

56

Figure 22: résultat de vérification d'un recruteur

précédent sommaire






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Aux âmes bien nées, la valeur n'attend point le nombre des années"   Corneille