Welcome to mirror list, hosted at ThFree Co, Russian Federation.

aes.c « Src « cube « f6 « targets « firmware - github.com/ClusterM/flipperzero-firmware.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 5d5cc06a1eef514bfe895588c57fa6f801c3d2f1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
/**
  ******************************************************************************
  * @file    aes.c
  * @brief   This file provides code for the configuration
  *          of the AES instances.
  ******************************************************************************
  * @attention
  *
  * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
  * All rights reserved.</center></h2>
  *
  * This software component is licensed by ST under Ultimate Liberty license
  * SLA0044, the "License"; You may not use this file except in compliance with
  * the License. You may obtain a copy of the License at:
  *                             www.st.com/SLA0044
  *
  ******************************************************************************
  */

/* Includes ------------------------------------------------------------------*/
#include "aes.h"

/* USER CODE BEGIN 0 */

/* USER CODE END 0 */

CRYP_HandleTypeDef hcryp1;
__ALIGN_BEGIN static const uint32_t pKeyAES1[4] __ALIGN_END = {
                            0x00000000,0x00000000,0x00000000,0x00000000};
CRYP_HandleTypeDef hcryp2;
__ALIGN_BEGIN static const uint32_t pKeyAES2[4] __ALIGN_END = {
                            0x00000000,0x00000000,0x00000000,0x00000000};

/* AES1 init function */
void MX_AES1_Init(void)
{

  /* USER CODE BEGIN AES1_Init 0 */

  /* USER CODE END AES1_Init 0 */

  /* USER CODE BEGIN AES1_Init 1 */

  /* USER CODE END AES1_Init 1 */
  hcryp1.Instance = AES1;
  hcryp1.Init.DataType = CRYP_DATATYPE_32B;
  hcryp1.Init.KeySize = CRYP_KEYSIZE_128B;
  hcryp1.Init.pKey = (uint32_t *)pKeyAES1;
  hcryp1.Init.Algorithm = CRYP_AES_ECB;
  hcryp1.Init.DataWidthUnit = CRYP_DATAWIDTHUNIT_WORD;
  hcryp1.Init.KeyIVConfigSkip = CRYP_KEYIVCONFIG_ALWAYS;
  if (HAL_CRYP_Init(&hcryp1) != HAL_OK)
  {
    Error_Handler();
  }
  /* USER CODE BEGIN AES1_Init 2 */

  /* USER CODE END AES1_Init 2 */

}
/* AES2 init function */
void MX_AES2_Init(void)
{

  /* USER CODE BEGIN AES2_Init 0 */

  /* USER CODE END AES2_Init 0 */

  /* USER CODE BEGIN AES2_Init 1 */

  /* USER CODE END AES2_Init 1 */
  hcryp2.Instance = AES2;
  hcryp2.Init.DataType = CRYP_DATATYPE_32B;
  hcryp2.Init.KeySize = CRYP_KEYSIZE_128B;
  hcryp2.Init.pKey = (uint32_t *)pKeyAES2;
  hcryp2.Init.Algorithm = CRYP_AES_ECB;
  hcryp2.Init.DataWidthUnit = CRYP_DATAWIDTHUNIT_WORD;
  hcryp2.Init.KeyIVConfigSkip = CRYP_KEYIVCONFIG_ALWAYS;
  if (HAL_CRYP_Init(&hcryp2) != HAL_OK)
  {
    Error_Handler();
  }
  /* USER CODE BEGIN AES2_Init 2 */

  /* USER CODE END AES2_Init 2 */

}

void HAL_CRYP_MspInit(CRYP_HandleTypeDef* crypHandle)
{

  if(crypHandle->Instance==AES1)
  {
  /* USER CODE BEGIN AES1_MspInit 0 */

  /* USER CODE END AES1_MspInit 0 */
    /* AES1 clock enable */
    __HAL_RCC_AES1_CLK_ENABLE();
  /* USER CODE BEGIN AES1_MspInit 1 */

  /* USER CODE END AES1_MspInit 1 */
  }
  else if(crypHandle->Instance==AES2)
  {
  /* USER CODE BEGIN AES2_MspInit 0 */

  /* USER CODE END AES2_MspInit 0 */
    /* AES2 clock enable */
    __HAL_RCC_AES2_CLK_ENABLE();
  /* USER CODE BEGIN AES2_MspInit 1 */

  /* USER CODE END AES2_MspInit 1 */
  }
}

void HAL_CRYP_MspDeInit(CRYP_HandleTypeDef* crypHandle)
{

  if(crypHandle->Instance==AES1)
  {
  /* USER CODE BEGIN AES1_MspDeInit 0 */

  /* USER CODE END AES1_MspDeInit 0 */
    /* Peripheral clock disable */
    __HAL_RCC_AES1_CLK_DISABLE();
  /* USER CODE BEGIN AES1_MspDeInit 1 */

  /* USER CODE END AES1_MspDeInit 1 */
  }
  else if(crypHandle->Instance==AES2)
  {
  /* USER CODE BEGIN AES2_MspDeInit 0 */

  /* USER CODE END AES2_MspDeInit 0 */
    /* Peripheral clock disable */
    __HAL_RCC_AES2_CLK_DISABLE();
  /* USER CODE BEGIN AES2_MspDeInit 1 */

  /* USER CODE END AES2_MspDeInit 1 */
  }
}

/* USER CODE BEGIN 1 */

/* USER CODE END 1 */

/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/