Добавил:
ИВТ (советую зайти в "Несортированное")rnПИН МАГА Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
interfeysy_1 / ИДЗ_машинка / даташиты / esp32_technical_reference_manual_en.pdf
Скачиваний:
19
Добавлен:
26.01.2024
Размер:
9.62 Mб
Скачать

24 RSA Accelerator (RSA)

result Z. X is left-extended and Y is right-extended, and defined as follows:

 

 

 

 

 

n =

N

 

 

 

 

 

 

 

 

32

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ˆ

 

 

 

 

 

 

 

 

 

 

N = 2 × N

 

 

 

 

 

 

 

 

 

 

 

 

ˆ

 

 

 

 

 

 

 

 

 

 

nˆ =

N

 

= 2n

 

 

 

 

 

 

 

 

32

 

 

 

 

 

 

 

ˆ ˆ

ˆ

ˆ

 

 

 

 

 

 

 

 

 

= (00 · · · 0 Xn−1Xn−2 · · · X0)b

X = (Xnˆ

1Xnˆ2

· · · X0)b = (00 · · · 0 X)b

 

 

 

|

 

{z

 

}

 

 

|

 

{z

 

}

nn

ˆ

ˆ

ˆ

ˆ

 

 

 

 

 

· · · Y0

00 · · · 0)b

Y = (Ynˆ

1Ynˆ2

· · · Y0)b = (Y 00 · · · 0)b = (Yn−1Yn−2

 

 

 

 

|

 

{z

 

}

 

|

 

{z

 

}

 

 

 

 

 

 

n

 

 

 

n

Software performs the operation in the following order:

ˆ

1. Write ( 512N 1 + 8) to RSA_MULT_MODE_REG.

2. Write ˆ and ˆ ( ) to RSA_X_MEM and RSA_Z_MEM, respectively.

Xi Yi i [0, nˆ) N

Write the valid data into each number’s memory block, according to their lengths. Values beyond this length are ignored. Half of the base-b positional notations written to the memory are zero (using the derivations shown above). These zero values are indispensable.

3.Write 1 to RSA_MULT_START_REG.

4.Wait for the operation to be completed. Poll RSA_INTERRUPT_REG until it reads 1, or until the RSA_INTR interrupt is generated.

5.Read the result Zi (i [0, nˆ) N) from RSA_Z_MEM.

6.Write 1 to RSA_INTERRUPT_REG to clear the interrupt.

After the operation, only the RSA_MULT_MODE_REG register remains unmodified.

24.4Register Summary

Name

 

Description

Address

Access

Configuration registers

 

 

 

 

 

 

 

RSA_M_PRIME_REG

 

Register to store M’

0x3FF02800

R/W

 

 

 

 

 

Modular exponentiation registers

 

 

 

 

 

 

 

RSA_MODEXP_MODE_REG

 

Modular exponentiation mode

0x3FF02804

R/W

 

 

 

 

 

RSA_MODEXP_START_REG

 

Start bit

0x3FF02808

WO

 

 

 

 

 

Modular multiplication registers

 

 

 

 

 

 

 

RSA_MULT_MODE_REG

 

Modular multiplication mode

0x3FF0280C

R/W

 

 

 

 

 

RSA_MULT_START_REG

 

Start bit

0x3FF02810

WO

 

 

 

 

 

Misc registers

 

 

 

 

 

 

 

RSA_INTERRUPT_REG

 

RSA interrupt register

0x3FF02814

R/W

 

 

 

 

 

RSA_CLEAN_REG

 

RSA clean register

0x3FF02818

RO

 

 

 

 

 

Espressif Systems

594

ESP32 TRM (Version 5.0)

Submit Documentation Feedback

24 RSA Accelerator (RSA)

24.5Registers

The addresses in parenthesis besides register names are the register addresses relative to the RSA base address provided in Table 1-6 Peripheral Address Mapping in Chapter 1 System and Memory. The absolute register addresses are listed in Section 24.4 Register Summary.

Register 24.1. RSA_M_PRIME_REG (0x800)

31

0

 

 

 

Reset

 

 

0x000000000

 

RSA_M_PRIME_REG This register contains M’. (R/W)

Register 24.2. RSA_MODEXP_MODE_REG (0x804)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MODE

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

_

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(reserved)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MODEXP

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

RSA

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

_

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

31

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

2

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Reset

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

RSA_MODEXP_MODE This register contains the mode of modular exponentiation. (R/W)

Register 24.3. RSA_MODEXP_START_REG (0x808)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

START

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

_

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(reserved)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MODEXP

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

RSA

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

_

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

31

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Reset

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

RSA_MODEXP_START Write 1 to start modular exponentiation. (WO)

Espressif Systems

595

ESP32 TRM (Version 5.0)

Submit Documentation Feedback

24

 

RSA Accelerator (RSA)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Register 24.4. RSA_MULT_MODE_REG (0x80C)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MODE

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

_

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(reserved)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

RSA

MULT

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

_

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

31

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

3

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Reset

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

 

RSA_MULT_MODE This register contains the mode of modular multiplication and multiplication.

(R/W)

Register 24.5. RSA_MULT_START_REG (0x810)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

START

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

_

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(reserved)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MULT

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

RSA

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

_

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

31

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Reset

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

RSA_MULT_START Write 1 to start modular multiplication or multiplication. (WO)

Register 24.6. RSA_INTERRUPT_REG (0x814)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(reserved)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

INTERRUPT

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

RSA

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

_

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

31

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Reset

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

RSA_INTERRUPT RSA interrupt status register. Will read 1 once an operation has completed. (R/W)

Register 24.7. RSA_CLEAN_REG (0x818)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(reserved)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CLEAN

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

RSA

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

_

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

31

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Reset

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

RSA_CLEAN This bit will read 1 once the memory initialization is completed. (RO)

Espressif Systems

596

ESP32 TRM (Version 5.0)

Submit Documentation Feedback

Соседние файлы в папке даташиты