crypto func