Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  sha.h   Sprache: C

 
/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * Copyright (c) 2010-2014, The Linux Foundation. All rights reserved.
 */


#ifndef _SHA_H_
#define _SHA_H_

#include <crypto/scatterwalk.h>
#include <crypto/sha1.h>
#include <crypto/sha2.h>

#include "common.h"
#include "core.h"

#define QCE_SHA_MAX_BLOCKSIZE  SHA256_BLOCK_SIZE
#define QCE_SHA_MAX_DIGESTSIZE  SHA256_DIGEST_SIZE

struct qce_sha_ctx {
 u8 authkey[QCE_SHA_MAX_BLOCKSIZE];
};

/**
 * struct qce_sha_reqctx - holds private ahash objects per request
 * @buf: used during update, import and export
 * @tmpbuf: buffer for internal use
 * @digest: calculated digest buffer
 * @buflen: length of the buffer
 * @flags: operation flags
 * @src_orig: original request sg list
 * @nbytes_orig: original request number of bytes
 * @src_nents: source number of entries
 * @byte_count: byte count
 * @count: save count in states during update, import and export
 * @first_blk: is it the first block
 * @last_blk: is it the last block
 * @sg: used to chain sg lists
 * @authkey: pointer to auth key in sha ctx
 * @authklen: auth key length
 * @result_sg: scatterlist used for result buffer
 */

struct qce_sha_reqctx {
 u8 buf[QCE_SHA_MAX_BLOCKSIZE];
 u8 tmpbuf[QCE_SHA_MAX_BLOCKSIZE];
 u8 digest[QCE_SHA_MAX_DIGESTSIZE];
 unsigned int buflen;
 unsigned long flags;
 struct scatterlist *src_orig;
 unsigned int nbytes_orig;
 int src_nents;
 __be32 byte_count[2];
 u64 count;
 bool first_blk;
 bool last_blk;
 struct scatterlist sg[2];
 u8 *authkey;
 unsigned int authklen;
 struct scatterlist result_sg;
};

static inline struct qce_alg_template *to_ahash_tmpl(struct crypto_tfm *tfm)
{
 struct crypto_ahash *ahash = __crypto_ahash_cast(tfm);
 struct ahash_alg *alg = container_of(crypto_hash_alg_common(ahash),
          struct ahash_alg, halg);

 return container_of(alg, struct qce_alg_template, alg.ahash);
}

extern const struct qce_algo_ops ahash_ops;

#endif /* _SHA_H_ */

Messung V0.5
C=92 H=95 G=93

¤ Dauer der Verarbeitung: 0.10 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge