Quellcodebibliothek Statistik Leitseite products/sources/formale Sprachen/C/Linux/arch/arm64/crypto/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 1 kB image not shown  

Quelle  aes-ce-core.S   Sprache: Sparc

 
/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * Copyright (C) 2013 - 2017 Linaro Ltd <ard.biesheuvel@linaro.org>
 */


#include <linux/linkage.h>
#include <asm/assembler.h>

 .arch  armv8-a+crypto

SYM_FUNC_START(__aes_ce_encrypt)
 sub  w3, w3, #2
 ld1  {v0.16b}, [x2]
 ld1  {v1.4s}, [x0], #16
 cmp  w3, #10
 bmi  0f
 bne  3f
 mov  v3.16b, v1.16b
 b  2f
0: mov  v2.16b, v1.16b
 ld1  {v3.4s}, [x0], #16
1: aese  v0.16b, v2.16b
 aesmc  v0.16b, v0.16b
2: ld1  {v1.4s}, [x0], #16
 aese  v0.16b, v3.16b
 aesmc  v0.16b, v0.16b
3: ld1  {v2.4s}, [x0], #16
 subs  w3, w3, #3
 aese  v0.16b, v1.16b
 aesmc  v0.16b, v0.16b
 ld1  {v3.4s}, [x0], #16
 bpl  1b
 aese  v0.16b, v2.16b
 eor  v0.16b, v0.16b, v3.16b
 st1  {v0.16b}, [x1]
 ret
SYM_FUNC_END(__aes_ce_encrypt)

SYM_FUNC_START(__aes_ce_decrypt)
 sub  w3, w3, #2
 ld1  {v0.16b}, [x2]
 ld1  {v1.4s}, [x0], #16
 cmp  w3, #10
 bmi  0f
 bne  3f
 mov  v3.16b, v1.16b
 b  2f
0: mov  v2.16b, v1.16b
 ld1  {v3.4s}, [x0], #16
1: aesd  v0.16b, v2.16b
 aesimc  v0.16b, v0.16b
2: ld1  {v1.4s}, [x0], #16
 aesd  v0.16b, v3.16b
 aesimc  v0.16b, v0.16b
3: ld1  {v2.4s}, [x0], #16
 subs  w3, w3, #3
 aesd  v0.16b, v1.16b
 aesimc  v0.16b, v0.16b
 ld1  {v3.4s}, [x0], #16
 bpl  1b
 aesd  v0.16b, v2.16b
 eor  v0.16b, v0.16b, v3.16b
 st1  {v0.16b}, [x1]
 ret
SYM_FUNC_END(__aes_ce_decrypt)

/*
 * __aes_ce_sub() - use the aese instruction to perform the AES sbox
 *                  substitution on each byte in 'input'
 */

SYM_FUNC_START(__aes_ce_sub)
 dup  v1.4s, w0
 movi  v0.16b, #0
 aese  v0.16b, v1.16b
 umov  w0, v0.s[0]
 ret
SYM_FUNC_END(__aes_ce_sub)

SYM_FUNC_START(__aes_ce_invert)
 ld1  {v0.4s}, [x1]
 aesimc  v1.16b, v0.16b
 st1  {v1.4s}, [x0]
 ret
SYM_FUNC_END(__aes_ce_invert)

Messung V0.5
C=97 H=100 G=98

¤ Dauer der Verarbeitung: 0.4 Sekunden  ¤

*© 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.