diff --git a/library/bignum.c b/library/bignum.c
index f94d08d..e2da5a8 100644
--- a/library/bignum.c
+++ b/library/bignum.c
@@ -788,7 +788,7 @@
 }
 
 /*
- * Helper for mpi substraction
+ * Helper for mpi subtraction
  */
 static void mpi_sub_hlp( size_t n, t_uint *s, t_uint *d )
 {
@@ -809,7 +809,7 @@
 }
 
 /*
- * Unsigned substraction: X = |A| - |B|  (HAC 14.9)
+ * Unsigned subtraction: X = |A| - |B|  (HAC 14.9)
  */
 int mpi_sub_abs( mpi *X, const mpi *A, const mpi *B )
 {
@@ -832,7 +832,7 @@
         MPI_CHK( mpi_copy( X, A ) );
 
     /*
-     * X should always be positive as a result of unsigned substractions.
+     * X should always be positive as a result of unsigned subtractions.
      */
     X->s = 1;
 
@@ -883,7 +883,7 @@
 }
 
 /*
- * Signed substraction: X = A - B
+ * Signed subtraction: X = A - B
  */
 int mpi_sub_mpi( mpi *X, const mpi *A, const mpi *B )
 {
@@ -930,7 +930,7 @@
 }
 
 /*
- * Signed substraction: X = A - b
+ * Signed subtraction: X = A - b
  */
 int mpi_sub_int( mpi *X, const mpi *A, t_sint b )
 {
diff --git a/library/net.c b/library/net.c
index 8eeabb9..2ab12df 100644
--- a/library/net.c
+++ b/library/net.c
@@ -93,7 +93,7 @@
 /*
  * htons() is not always available.
  * By default go for LITTLE_ENDIAN variant. Otherwise hope for _BYTE_ORDER and __BIG_ENDIAN
- * to help determine endianess.
+ * to help determine endianness.
  */
 #if defined(__BYTE_ORDER) && defined(__BIG_ENDIAN) && __BYTE_ORDER == __BIG_ENDIAN
 #define POLARSSL_HTONS(n) (n)
diff --git a/library/x509_crt.c b/library/x509_crt.c
index 0a22b87..9eba14d 100644
--- a/library/x509_crt.c
+++ b/library/x509_crt.c
@@ -1184,7 +1184,7 @@
 }
 
 /*
- * Check that the given certificate is valid accoring to the CRL.
+ * Check that the given certificate is valid according to the CRL.
  */
 static int x509_crt_verifycrl( x509_crt *crt, x509_crt *ca,
                                x509_crl *crl_list)
