diff --git a/include/biwak/crc.hpp b/include/biwak/crc.hpp
index b6a451f2..3831a804 100644
--- a/include/biwak/crc.hpp
+++ b/include/biwak/crc.hpp
@@ -40,11 +40,11 @@ class CCrc
       CCrc( );
       ~CCrc();
       void init();
-      uint32_t calculateCrc32( const void *_buf, uint32_t len );
+      uint32_t calculateCrc32( const void *_buf, uint32_t len ) const;
       
-      uint32_t crc32Init( );
-      uint32_t crc32Update( uint32_t crc, const void *_buf, uint32_t len );
-      uint32_t crc32Finalize( uint32_t crc );
+      uint32_t crc32Init( ) const;
+      uint32_t crc32Update( uint32_t crc, const void *_buf, uint32_t len ) const;
+      uint32_t crc32Finalize( uint32_t crc ) const;
 };
 
 
diff --git a/src/stm32/crc.cpp b/src/stm32/crc.cpp
index 08261dbc..e1cd1fad 100644
--- a/src/stm32/crc.cpp
+++ b/src/stm32/crc.cpp
@@ -63,7 +63,7 @@ CCrc::~CCrc()
 }
 
 
-uint32_t CCrc::calculateCrc32( const void *_buf, uint32_t len)
+uint32_t CCrc::calculateCrc32( const void *_buf, uint32_t len) const
 {
       uint32_t crc;
       crc = crc32Init();
@@ -73,7 +73,7 @@ uint32_t CCrc::calculateCrc32( const void *_buf, uint32_t len)
       return(crc);
 }
 
-uint32_t CCrc::crc32Update( uint32_t crc, const void *_buf, uint32_t len )
+uint32_t CCrc::crc32Update( uint32_t crc, const void *_buf, uint32_t len ) const
 {
    #if defined( STM32F1 )
       uint32_t part;
@@ -92,7 +92,7 @@ uint32_t CCrc::crc32Update( uint32_t crc, const void *_buf, uint32_t len )
    return( crc );
 }
 
-uint32_t CCrc::crc32Finalize( uint32_t crc )
+uint32_t CCrc::crc32Finalize( uint32_t crc ) const
 {
    #if defined( STM32F1 )
       return( crc );
@@ -101,7 +101,7 @@ uint32_t CCrc::crc32Finalize( uint32_t crc )
    #endif
 }
 
-uint32_t CCrc::crc32Init( )
+uint32_t CCrc::crc32Init( ) const
 {
    return( HAL_CRC_Calculate(m_pHandler, (uint32_t *)this, 0 ) );
 }
