diff --git a/docs/architecture/psa-crypto-implementation-structure.md b/docs/architecture/psa-crypto-implementation-structure.md
index ffc25ef..c563468 100644
--- a/docs/architecture/psa-crypto-implementation-structure.md
+++ b/docs/architecture/psa-crypto-implementation-structure.md
@@ -3,9 +3,9 @@
 
 ## Introduction
 
-The [PSA Cryptography API specification](https://armmbed.github.io/mbed-crypto/psa/#application-programming-interface) defines an interface to cryptographic operations which the Mbed TLS library provides a reference implementation for. The PSA Cryptography API specification is complemented by the PSA driver interface specification which defines an interface for cryptoprocessor drivers.
+The [PSA Cryptography API specification](https://armmbed.github.io/mbed-crypto/psa/#application-programming-interface) defines an interface to cryptographic operations for which the Mbed TLS library provides a reference implementation. The PSA Cryptography API specification is complemented by the PSA driver interface specification which defines an interface for cryptoprocessor drivers.
 
-This document describes the high level organization of the Mbed TLS PSA Cryptography API implementation which is tighly related to the PSA driver interface.
+This document describes the high level organization of the Mbed TLS PSA Cryptography API implementation which is tightly related to the PSA driver interface.
 
 ## High level organization of the Mbed TLS PSA Cryptography API implementation
 In one sentence, the Mbed TLS PSA Cryptography API implementation is made of a core and PSA drivers as defined in the PSA driver interface. The key point is that software cryptographic operations are organized as PSA drivers: they interact with the core through the PSA driver interface.
@@ -19,12 +19,12 @@
 
 ## The Mbed TLS PSA Cryptography API implementation core
 
-The core implements all the APIs as defined in the PSA Cryptography API specification but do not perform on its own any cryptographic operation. The core relies on PSA drivers to actually
-perform the cryptographic operations. The core is responsible of:
+The core implements all the APIs as defined in the PSA Cryptography API specification but does not perform on its own any cryptographic operation. The core relies on PSA drivers to actually
+perform the cryptographic operations. The core is responsible for:
 
 * the key store.
-* checking PSA API arguments and translate them into valid arguments for the necessary calls to the PSA driver interface.
-* dispatchng the cryptographic operations to the appropriate PSA drivers.
+* checking PSA API arguments and translating them into valid arguments for the necessary calls to the PSA driver interface.
+* dispatching the cryptographic operations to the appropriate PSA drivers.
 
 The sketch of an Mbed TLS PSA cryptographic API implementation is thus:
 ```C                                                                            
@@ -43,8 +43,8 @@
         return( status );
 
     /* Post driver interface call processing: validation of the values returned
-     * by the driver, finalization ot the values to return to the caller,
+     * by the driver, finalization of the values to return to the caller,
      * clean-up in case of error ... */
 }
 ```
-Obviously, for some PSA APIs the implementation is more complicated with several potential conditionnal calls to different driver entry points but most of PSA API code aimed to be organized along those lines. The implementation of the `psa_driver_wrapper_<entry_point>` function is generated by the build system based on the JSON driver description files of the various PSA drivers making up the Mbed TLS PSA Cryptography API implementation.
+Obviously, for some PSA APIs the implementation is more complicated with several potential conditional calls to different driver entry points but most of PSA API code aims to be organized along those lines. The implementation of the `psa_driver_wrapper_<entry_point>` function is generated by the build system based on the JSON driver description files of the various PSA drivers making up the Mbed TLS PSA Cryptography API implementation.
