diff --git a/programs/.gitignore b/programs/.gitignore
index 6500174..076821f 100644
--- a/programs/.gitignore
+++ b/programs/.gitignore
@@ -13,6 +13,7 @@
 *.exe
 
 aes/crypt_and_hash
+cipher/aead_demo
 hash/generic_sum
 hash/hello
 hash/hmac_demo
@@ -39,8 +40,7 @@
 pkey/rsa_sign_pss
 pkey/rsa_verify
 pkey/rsa_verify_pss
-psa/aead_non_psa
-psa/aead_psa
+psa/aead_demo
 psa/crypto_examples
 psa/hmac_demo
 psa/key_ladder_demo
diff --git a/programs/CMakeLists.txt b/programs/CMakeLists.txt
index a8492c6..0633aa6 100644
--- a/programs/CMakeLists.txt
+++ b/programs/CMakeLists.txt
@@ -1,4 +1,5 @@
 add_subdirectory(aes)
+add_subdirectory(cipher)
 if (NOT WIN32)
     add_subdirectory(fuzz)
 endif()
diff --git a/programs/Makefile b/programs/Makefile
index d2f7d8d..fccddc6 100644
--- a/programs/Makefile
+++ b/programs/Makefile
@@ -62,6 +62,7 @@
 ## make sure to check that it still works if you tweak the format here.
 APPS = \
 	aes/crypt_and_hash \
+	cipher/aead_demo \
 	hash/generic_sum \
 	hash/hello \
 	hash/hmac_demo \
@@ -85,8 +86,7 @@
 	pkey/rsa_sign_pss \
 	pkey/rsa_verify \
 	pkey/rsa_verify_pss \
-	psa/aead_non_psa \
-	psa/aead_psa \
+	psa/aead_demo \
 	psa/crypto_examples \
 	psa/hmac_demo \
 	psa/key_ladder_demo \
@@ -177,6 +177,10 @@
 	echo "  CC    aes/crypt_and_hash.c"
 	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) aes/crypt_and_hash.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
 
+cipher/aead_demo$(EXEXT): cipher/aead_demo.c $(DEP)
+	echo "  CC    cipher/aead_demo.c"
+	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) cipher/aead_demo.c    $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
+
 hash/generic_sum$(EXEXT): hash/generic_sum.c $(DEP)
 	echo "  CC    hash/generic_sum.c"
 	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) hash/generic_sum.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
@@ -269,13 +273,9 @@
 	echo "  CC    pkey/rsa_encrypt.c"
 	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/rsa_encrypt.c    $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
 
-psa/aead_non_psa$(EXEXT): psa/aead_non_psa.c $(DEP)
-	echo "  CC    psa/aead_non_psa.c"
-	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) psa/aead_non_psa.c    $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
-
-psa/aead_psa$(EXEXT): psa/aead_psa.c $(DEP)
-	echo "  CC    psa/aead_psa.c"
-	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) psa/aead_psa.c    $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
+psa/aead_demo$(EXEXT): psa/aead_demo.c $(DEP)
+	echo "  CC    psa/aead_demo.c"
+	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) psa/aead_demo.c    $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
 
 psa/crypto_examples$(EXEXT): psa/crypto_examples.c $(DEP)
 	echo "  CC    psa/crypto_examples.c"
diff --git a/programs/cipher/CMakeLists.txt b/programs/cipher/CMakeLists.txt
new file mode 100644
index 0000000..cc16849
--- /dev/null
+++ b/programs/cipher/CMakeLists.txt
@@ -0,0 +1,13 @@
+set(executables
+    aead_demo
+)
+
+foreach(exe IN LISTS executables)
+    add_executable(${exe} ${exe}.c $<TARGET_OBJECTS:mbedtls_test>)
+    target_link_libraries(${exe} ${mbedcrypto_target})
+    target_include_directories(${exe} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../../tests/include)
+endforeach()
+
+install(TARGETS ${executables}
+        DESTINATION "bin"
+        PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
diff --git a/programs/psa/aead_non_psa.c b/programs/cipher/aead_demo.c
similarity index 96%
rename from programs/psa/aead_non_psa.c
rename to programs/cipher/aead_demo.c
index 00c7f0e..894225d 100644
--- a/programs/psa/aead_non_psa.c
+++ b/programs/cipher/aead_demo.c
@@ -4,7 +4,7 @@
  * This program AEAD-encrypts a message, using the algorithm and key size
  * specified on the command line, using the multi-part API.
  *
- * It comes with a companion program aead_psa.c, which does the same
+ * It comes with a companion program psa/aead_demo.c, which does the same
  * operations with the PSA Crypto API. The goal is that comparing the two
  * programs will help people migrating to the PSA Crypto API.
  *
@@ -18,7 +18,7 @@
  * On the other hand, with PSA, the algorithms encodes the desired tag length;
  * with Cipher the desired tag length needs to be tracked separately.
  *
- * This program and its companion aead_psa.c illustrate this by doing the
+ * This program and its companion psa/aead_demo.c illustrate this by doing the
  * same sequence of multi-part AEAD computation with both APIs; looking at the
  * two side by side should make the differences and similarities clear.
  */
@@ -66,7 +66,7 @@
 
 /* The real program starts here. */
 
-const char usage[] = "Usage: aead_psa [aes128-gcm|aes256-gcm|aes128-gcm_8|chachapoly]";
+const char usage[] = "Usage: aead_demo [aes128-gcm|aes256-gcm|aes128-gcm_8|chachapoly]";
 
 /* Dummy data for encryption: IV/nonce, additional data, 2-part message */
 const unsigned char iv1[12] = { 0x00 };
diff --git a/programs/psa/CMakeLists.txt b/programs/psa/CMakeLists.txt
index 37192e3..7ba4af6 100644
--- a/programs/psa/CMakeLists.txt
+++ b/programs/psa/CMakeLists.txt
@@ -1,6 +1,5 @@
 set(executables
-    aead_non_psa
-    aead_psa
+    aead_demo
     crypto_examples
     hmac_demo
     key_ladder_demo
diff --git a/programs/psa/aead_psa.c b/programs/psa/aead_demo.c
similarity index 97%
rename from programs/psa/aead_psa.c
rename to programs/psa/aead_demo.c
index 2f0663d..4c7a522 100644
--- a/programs/psa/aead_psa.c
+++ b/programs/psa/aead_demo.c
@@ -4,7 +4,7 @@
  * This program AEAD-encrypts a message, using the algorithm and key size
  * specified on the command line, using the multi-part API.
  *
- * It comes with a companion program aead_non_psa.c, which does the same
+ * It comes with a companion program cipher/aead_demo.c, which does the same
  * operations with the legacy Cipher API. The goal is that comparing the two
  * programs will help people migrating to the PSA Crypto API.
  *
@@ -18,7 +18,7 @@
  * On the other hand, with PSA, the algorithms encodes the desired tag length;
  * with Cipher the desired tag length needs to be tracked separately.
  *
- * This program and its companion aead_non_psa.c illustrate this by doing the
+ * This program and its companion cipher/aead_demo.c illustrate this by doing the
  * same sequence of multi-part AEAD computation with both APIs; looking at the
  * two side by side should make the differences and similarities clear.
  */
@@ -68,7 +68,7 @@
 
 /* The real program starts here. */
 
-const char usage[] = "Usage: aead_psa [aes128-gcm|aes256-gcm|aes128-gcm_8|chachapoly]";
+const char usage[] = "Usage: aead_demo [aes128-gcm|aes256-gcm|aes128-gcm_8|chachapoly]";
 
 /* Dummy data for encryption: IV/nonce, additional data, 2-part message */
 const unsigned char iv1[12] = { 0x00 };
