diff --git a/openbsc/src/libcommon/Makefile.am b/openbsc/src/libcommon/Makefile.am
index 75f40ee..84c7544 100644
--- a/openbsc/src/libcommon/Makefile.am
+++ b/openbsc/src/libcommon/Makefile.am
@@ -6,4 +6,4 @@
 
 libcommon_a_SOURCES = bsc_version.c common_vty.c debug.c gsm_data.c \
 		      gsm_data_shared.c socket.c talloc_ctx.c \
-		      gsm_subscriber_base.c
+		      gsm_subscriber_base.c utils.c
diff --git a/openbsc/src/libcommon/utils.c b/openbsc/src/libcommon/utils.c
new file mode 100644
index 0000000..c47dcae
--- /dev/null
+++ b/openbsc/src/libcommon/utils.c
@@ -0,0 +1,58 @@
+/* OpenBSC kitchen sink */
+
+/* (C) 2015 by sysmocom s.m.f.c GmbH <info@sysmocom.de>
+ * All Rights Reserved
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#include <openbsc/utils.h>
+#include <osmocom/core/utils.h>
+#include <osmocom/core/bit64gen.h>
+
+/* Wishful thinking to generate a constant time compare */
+int constant_time_cmp(const uint8_t *exp, const uint8_t *rel, const int count)
+{
+	int x = 0, i;
+
+	for (i = 0; i < count; ++i)
+		x |= exp[i] ^ rel[i];
+
+	/* if x is zero, all data was identical */
+	return x? 1 : 0;
+}
+
+
+uint64_t decode_big_endian(const uint8_t *data, size_t data_len)
+{
+	uint64_t value = 0;
+
+	while (data_len > 0) {
+		value = (value << 8) + *data;
+		data += 1;
+		data_len -= 1;
+	}
+
+	return value;
+}
+
+uint8_t *encode_big_endian(uint64_t value, size_t data_len)
+{
+	static uint8_t buf[sizeof(uint64_t)];
+	OSMO_ASSERT(data_len <= ARRAY_SIZE(buf));
+	osmo_store64be_ext(value, buf, data_len);
+	return buf;
+}
+
